Похоже, файл БД хранится где-то еще. ранее я заметил, что в моем случае файлы БД хранятся, как показано ниже. (Я изменил номера)
/ Пользователи / мое имя / Библиотека / Разработчик / CoreSimulator / Устройства / 111-111-111данные / Контейнеры / Данные / Приложение / 12341231231 / Документы / dbname.db
и я go в Документах, я не вижу файл БД после первого запуска симулятора. но когда я запускаю симулятор во второй раз, в консоли он реализует .. NSLog ("файл БД существует") но все же я не вижу файл БД в пути документов. И когда я вставляю запрос, я получаю эту ошибку: нет такой таблицы: myTable.
Я хотел бы знать, где я ошибаюсь.
{
super.viewDidLoad()
var databasesPath:String?
let dirPaths = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)
let docsDir = dirPaths[0] as String
databasesPath = docsDir.appending("/ayoyoa.db")
let filemgr = FileManager.default
if !filemgr.fileExists(atPath: databasesPath!) {
let contactDB = FMDatabase(path: databasesPath)
if contactDB.open() {
let sql_stmt = "CREATE TABLE IF NOT EXISTS myTable (ID INTEGER PRIMARY KEY AUTOINCREMENT, word TEXT, meaning TEXT, info TEXT)"
if !contactDB.executeStatements(sql_stmt) {
print("Error \(contactDB.lastErrorMessage())")
}
contactDB.close()
} else {
print("Error \(contactDB.lastErrorMessage())")
}
} else {
let contactDB = FMDatabase(path: databasesPath)
if contactDB.open() {
NSLog("DB file exists")
let querySQL = "SELECT * FROM myTable"
let result: FMResultSet? = contactDB.executeQuery(querySQL, withArgumentsIn: [])
while result?.next() == true {
if let appendeddata = result?.string(forColumn:"word") {
willbeshown.append(appendeddata)
}
}
contactDB.close()
}
tableview.reloadData()
}
}