预先填充核心数据,仅在应用程序首次启动时使用plist

Jac*_*ins 5 iphone core-data objective-c property-list ios

我有一个plist文件,这是一个字典数组.每个字典包含一组字符串.每个字典代表一个名人.

我想要做的是在应用程序首次启动时使用此plist的内容填充Core Data,之后我想以某种方式检查核心数据是否存在我的数据,如果有数据,则从那里加载,否则再次从plist文件加载初始数据.

我知道可以从plist中填充核心数据,但是我建议一个可行的解决方案吗?还是有更好的方法?

插口

Nev*_*rBe 8

我的示例代码

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

if (![defaults objectForKey:@"dataImported"]) {

    NSString *path = [[NSBundle mainBundle] pathForResource:@"dict" ofType:@"plist"];
    NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:path];
    for (NSString *key in [dict allKeys]) {
        NSDictionary *node = [dict objectForKey:key];

        MyClass *newObj = .....
    }

   [defaults setObject:@"OK" forKey:@"dataImported"];
   [defaults synchronize];
}
Run Code Online (Sandbox Code Playgroud)