附加文件时出现Sqlite错误

时间:2016-09-14 07:01:35

标签: swift

我是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.")
}

请解决我的问题

1 个答案:

答案 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!)。