-1
我在编译xcode时遇到了一些麻烦。Swift数据库FMDB错误和解释
第6行:“let docsDir = dirPaths [0] as!String”返回错误“强制转换为'String'为相同类型不起作用。” 什么是!串做?因为它告诉我要删除它。
第二个问题是第8行,其中stringByAppendingPathComponent似乎已被swift删除,但在阅读堆栈上的一些问题后,它显示NSString与它一起工作。我将如何实现对代码的NSString更改?
我想问的最后一个问题是我没有得到少数代码,是否有任何我可以学习的东西,比如什么是“defaultManager”,在类NSFileManager之后或者只是第2行和第3行一般。
let filemgr = NSFileManager.defaultManager()
let dirPaths =
NSSearchPathForDirectoriesInDomains(.DocumentDirectory,
.UserDomainMask, true)
let docsDir = dirPaths[0] as! String
let databasePath = docsDir.stringByAppendingPathComponent(
"shopdata.db")
if !filemgr.fileExistsAtPath(databasePath as String) {
let contactDB = FMDatabase(path: databasePath as String)
if contactDB == nil {
print("Error: \(contactDB.lastErrorMessage())")
}
if contactDB.open() {
let sql_stmt = "CREATE TABLE IF NOT EXISTS CONTACTS (ID INTEGER PRIMARY KEY AUTOINCREMENT, SPECIALTY TEXT, NAME TEXT)"
if !contactDB.executeStatements(sql_stmt) {
print("Error: \(contactDB.lastErrorMessage())")
}
contactDB.close()
} else {
print("Error: \(contactDB.lastErrorMessage())")
}
}
@Roger Ho亲切地投票吧。帮助我获得一些积分。谢谢 –