Я работаю на самом пределе моего понимания новичка здесь, и я изо всех сил пытаюсь понять, что я делаю неправильно. Итак, я создал базу данных в DB Browser для SQLite, я сохранил в виде файла .db и также экспортировал в файл .sql. Это отдельная таблица с цифровым ключом и названием города. Это основа большой базы данных, которую я запланировал. Я добавил все содержимое FMDB в соответствии с инструкциями на странице GitHub. Я добавил базу данных в свой проект (перетащил ее из Finder в левую панель Xcode). Я пробовал как по отдельности, так и вместе файлы .db и .sql и убедился, что они были добавлены к цели. Затем я добавил следующий код в viewDidLoad()' in the
ViewController`, где я хочу создать массив из содержимого базы данных.
// test db code
let fileURL = try! FileManager.default
.url(for: .applicationSupportDirectory, in: .userDomainMask, appropriateFor: nil, create: true)
.appendingPathComponent("Wanderer.db")
let database = FMDatabase(url: fileURL)
guard database.open() else {
print("Unable to open database")
return
}
do {
let cities:FMResultSet = try database.executeQuery("SELECT City from Cities", values: nil)
while cities.next() {
if let result = cities.string(forColumn: "City") {
cityData.append(result)
}
}
} catch {
print("OOPS, some sort of failure")
}
//end test db code
Когда я запускаю свое приложение на симуляторе и загружаю соответствующую страницу, в консоли отладки появляется следующая ошибка:
2018-10-29 20: 00: 43.194628 + 0000 Wanderer [9708: 849273] Ошибка БД: 1 "нет
такой стол: "Города"
2018-10-29 20: 00: 43.194808 + 0000 Wanderer [9708: 849273] Запрос БД: SELECT
Город из городов
2018-10-29 20: 00: 43.194917 + 0000 Wanderer [9708: 849273] Путь к БД:
/ Users / robmunro2 / Library / Developer / CoreSimulator / Devices / 98971BF4-8901-4E3D-8D71-1CF3E4117885 / данные / Контейнеры / Data / Application / 7421C242-AA18-409E-BC61-ABB5FA5D2A98 / Library / Application
Support / Wanderer.db OOPS, какой-то сбой
Что, черт возьми, я делаю не так!?