Swift Sqlite3只添加一次表

时间:2016-03-27 14:33:20

标签: ios swift sqlite

我是swift编程语言的新手,我学会了如何使用此代码创建新表

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

我不明白的是,对于每个下载我的应用的用户,都应该创建一个新表并且工作正常, 因为表的Create()在ViewDidLoad()中,所以每次我在该视图控制器中调用它都没有发生任何事情,因为该表已经存在且只有命令行输出"表已经存在" 有没有什么可以避免每次调用Create()并在应用程序生命周期中创建一次表? 我需要用数组中的对象填充表,因为它是空的 那里有插入查询

1 个答案:

答案 0 :(得分:0)

您可以使用NSUserDefaults实现此目的,您可以在其中永久存储数据。在您尝试创建表之前,请检查这是否是第一次打开应用程序,如下所示:

<Event>
 <System>
  <Provider Name="HttpPlatformHandler"/>
  <EventID>1000</EventID>
  <Level>0</Level>
  <Task>0</Task>
  <Keywords>Keywords</Keywords>
  <TimeCreated SystemTime="2016-03-27T15:30:56Z"/>
  <EventRecordID>1368052437</EventRecordID>
  <Channel>Application</Channel>
  <Computer>RD000D3A61018F</Computer>
  <Security/>
 </System>
 <EventData>
 <Data>
   Process '5384' failed to start. Port = 21220, Error Code = '-2147023829'.
 </Data>