-1
これをxcodeでコンパイルするときに問題があります。スイフトデータベースのFMDBエラーと説明
6行目:「let docsDir = dirPaths [0] as!String」は、「String型の強制的なキャストは同じ型にキャストしない」というエラーを返しません。 とは何ですか?ストリングは何ですか?それは私にそれを削除するように指示します。
2番目の質問は、stringByAppendingPathComponentがswiftによって削除されたようですが、スタック上のいくつかの質問を読んだあと、NSStringがそれと共に動作することを示しています。どのようにコードにNSStringの変更を実装するのですか?
最後に質問したいのは、このコードの少数しか得られないということです。クラスNSFileManagerの後に行う "defaultManager"や、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優しく投票してください。投票してください。いくつかのポイントを得るのを手伝ってください。ありがとう –