繁体   English   中英

使用一组必须从程序中更改的预加载值在iphone上存储数据的最佳方法是什么

[英]what is the best way to store data on iphone with a set of preloaded values which must be altered from the program

使用一组预加载值在iphone上存储数据的最佳方法是什么?必须从程序中更改?

我们可以将值预加载到coredata数据库中。如果是的话

有可能使用coredata ..... 查看此链接以使用coredata

如果使用Core Data,您可以在创建NSPersistentStoreCoordinator之前检测核心数据支持文件是否存在,如果没有,则在创建持久性存储协调器之前将捆绑包中的默认版本复制到位,或者在创建之后使用代码插入必要的对象NSManagedObjectContext。 对于后者,这可能看起来像这样:

BOOL insertDefaultObjects = NO;
if (managedObjectContext == nil) {
    if (persistentStoreCoordinator == nil) {
        NSString *storePath = /* ... */;
        insertDefaultObjects = ![[NSFileManager defaultManager] fileExistsAtPath:storePath];

        persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:managedObjectModel];
        /* ... and so on ... */
    }

    managedObjectContext = [[NSManagedObjectContext alloc] init];
    [managedObjectContext setPersistentStoreCoordinator:persistentStoreCoordinator];

    if (insertDefaultObjects) [self insertDefaultObjectsIntoContext:managedObjectContext];
}

insertDefaultObjectsIntoContext:只使用标准的Core Data方法创建必要的对象并将它们保存到Core Data存储中。

如果您正在使用其他类型的数据存储,例如xml文件,plist等,则同样的一般想法成立:检查文档或应用程序支持目录中是否存在该文件,或检查“复制的默认值”如果文件可以被用户删除,则键入NSUserDefaults,并在必要时从应用程序包中复制默认版本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM