2016-03-27 6 views
-1

Я новичок в стремительном языке программирования и я узнал, как создаст новую таблицу с этим кодомSwift Sqlite3 добавить таблицу только один раз

if let _ = SD.createTable("HouseArray", withColumnNamesAndTypes: ["House" : .StringVal]){ 
} else { 
    for each in HouseArray{ 
     SD.executeChange("INSERT INTO HouseArray (House) VALUES ('\(each)')") 
    } 
} 

вещи я не понимаю, для каждого пользователя загрузив моего app должна создаваться новая таблица, которая отлично работает, , так как Create() таблицы находится в ViewDidLoad(), она вызывается каждый раз, когда я нахожусь в этом контроллере представления. Ничего не происходит, поскольку таблица уже существует и только командная строка выходы «таблица уже существует» есть ли почему, чтобы избежать вызова Create() каждый раз и сделать таблицу один раз в жизни приложения? и мне нужно, чтобы заполнить таблицу с объектами из массивов, так как его пустой там для вставки в запрос

ответ

0

Вы можете добиться этого с помощью NSUserDefaults, в котором вы можете постоянно хранить данные. Прежде чем пытаться создать таблицу, проверьте, открывается ли это приложение при первом открытии приложения:

//put this inside viewDidLoad (or wherever you create your Table) 
if !NSUserDefaults.standardUserDefaults().boolForKey("FirstTimeLauched") { 
    NSUserDefaults.standardUserDefaults().setBool(true, forKey: "FirstTimeLauched") 
    NSUserDefaults.standardUserDefaults().synchronize() 
    create() // do your table creating code here. 
} 
+0

Ваше решение было замечательно! но ложь во второй строке должна быть изменена на «Истина», так как она не будет в следующий раз –

+0

O Ой, вы правы :) – Eric

Смежные вопросы