我是iOS开发人员我想要的一件事是当我将Sqlite与Xcode连接然后在nsobject类中附加代码后,错误出现第二行实例成员文档不能使用类名的类型
这是代码 -
let documents = try! NSFileManager.defaultManager().URLForDirectory(.DocumentDirectory, inDomain: .UserDomainMask, appropriateForURL: nil, create: false)
let fileURL = documents.URLByAppendingPathComponent("test.sqlite")
var db: COpaquePointer = nil
if sqlite3_open(fileURL, &db) == SQLITE_OK {
print("Successfully opened connection to database at \(fileURL)")
return db
} else {
print("Unable to open database. Verify that you created the directory described " +
"in the Getting Started section.")
}
请解决我的问题
答案 0 :(得分:1)
您似乎试图在方法之外声明fileURL
。如果这是属性,则无法像这样引用documents
。因此,要么将其设为方法的局部变量,要么将这两个声明折叠为单个语句:
在Swift 3中:
let fileURL = try! FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: false)
.appendingPathComponent("test.sqlite")!
在Swift 2中:
let fileURL = try! NSFileManager.defaultManager().URLForDirectory(.DocumentDirectory, inDomain: .UserDomainMask, appropriateForURL: nil, create: false)
.URLByAppendingPathComponent("test.sqlite")!
这样可以避免引用documents
。
顺便说一句,您无法将fileURL
传递给sqlite3_open
函数。您应该使用fileURL.path
(或者,在Swift 2中,fileURL.path!
)。