我已经红了很多Stack Overflow的答案,不管我的问题是什么,但是他们没有帮我操作OS X.我想做的是创建隐藏的sqlite数据库,我可以存储一些数据。 数据库打开很好,在执行语句时我找不到任何错误。
以下是我用于创建数据库并插入其中的代码。 在iOS中有一个限制,如果它保存在DocumentsDirectory中,你只能写入sqlite商店,我尝试了这个解决方案,但它没有帮助。
var documentFolderPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as String
documentFolderPath = documentFolderPath.stringByAppendingString("/Hasher")
if NSFileManager.defaultManager().fileExistsAtPath(documentFolderPath) == false {
do {
try NSFileManager.defaultManager().createDirectoryAtPath(documentFolderPath, withIntermediateDirectories: true, attributes: nil)
}
catch {
}
}
let dbFilePath = documentFolderPath.stringByAppendingString("/" + self.kDatabaseInfo.fullName())
let database = FMDatabase(path: dbFilePath)
if database.open() {
let createStatement = "CREATE TABLE IF NOT EXISTS cache (KEY TEXT NOT NULL, TYPE VARCHAR(5));"
if database.executeUpdate(createStatement, withArgumentsInArray: nil) == true {
print("Database setup successfull")
}
let insertStatement = String(format: "INSERT INTO %@ (KEY, TYPE) VALUES(?, ?)", self.kDatabaseInfo.tableName)
database.executeQuery(insertStatement, withArgumentsInArray: [value, type])
if let error = database.lastError() {
print(error) // prints Error Domain=FMDatabase Code=0 "not an error" UserInfo={NSLocalizedDescription=not an error}
}
database.close()
}
我正在运行OS X 10.11 - El Capitan