嗨,我是swift的新手,正在尝试为我的a级别编码项目添加数据库。我似乎无法让不透明的指针在没有错误的情况下工作。我使用过教程,但总是会出现同样的错误。我得到的错误:
Expected member name or constructor call after type name on line 3
Cannot convert value of type 'UnsafeMutablePointer<OpaquePointer?.Type>' to expected argument type 'UnsafeMutablePointer<OpaquePointer?>' On line 9
Cannot convert return expression of type 'OpaquePointer?.Type' to return type 'OpaquePointer?' On line 12
var dbURL = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] as String
func createDatabase() -> OpaquePointer?{
var db = OpaquePointer?
let url = NSURL(fileURLWithPath: dbURL)
if let pathComponent = url.appendingPathComponent("Database.sqlite"){
let filePath = pathComponent.path
if sqlite3_open(filePath, &db) == SQLITE_OK{
print("successfully opened database")
return db
}
}
}
将var db = OpaquePointer?
更改为var db : OpaquePointer?
在函数末尾添加return nil
。
您需要在第3行使用冒号而不是等号。