如何克服 CString 错误
how to overcome CString error
如何克服这个错误
func selectFunc(){
var selectQuery="select * from EmployeInfo"
var cSql:CString = selectQuery.bridgeToObjectiveC().cStringUsingEncoding(NSUTF8StringEncoding)
var result:CInt=0
var stmt:COpaquePointer = nil
result = sqlite3_prepare_v2(appDelegate.database, cSql, -1, &stmt, nil);
if result != SQLITE_OK
使用未声明的 CString.how 时发生错误以克服此错误
在旧的 Swift 版本中(在 Xcode 6 beta 6 之前),Swift String
必须明确转换
当传递给带有 const char *
参数的 C 函数时,如您的代码所示。
这已经没有必要了。 CString
类型和 bridgeToObjectiveC()
方法不再存在。
当前的 Swift 编译器进行转换
自动(比较String value to UnsafePointer<UInt8> function parameter behavior)你可以只写
let selectQuery = "select * from EmployeInfo"
var stmt : COpaquePointer = nil
let result = sqlite3_prepare_v2(appDelegate.database, selectQuery, -1, &stmt, nil)
如何克服这个错误
func selectFunc(){
var selectQuery="select * from EmployeInfo"
var cSql:CString = selectQuery.bridgeToObjectiveC().cStringUsingEncoding(NSUTF8StringEncoding)
var result:CInt=0
var stmt:COpaquePointer = nil
result = sqlite3_prepare_v2(appDelegate.database, cSql, -1, &stmt, nil);
if result != SQLITE_OK
使用未声明的 CString.how 时发生错误以克服此错误
在旧的 Swift 版本中(在 Xcode 6 beta 6 之前),Swift String
必须明确转换
当传递给带有 const char *
参数的 C 函数时,如您的代码所示。
这已经没有必要了。 CString
类型和 bridgeToObjectiveC()
方法不再存在。
当前的 Swift 编译器进行转换 自动(比较String value to UnsafePointer<UInt8> function parameter behavior)你可以只写
let selectQuery = "select * from EmployeInfo"
var stmt : COpaquePointer = nil
let result = sqlite3_prepare_v2(appDelegate.database, selectQuery, -1, &stmt, nil)