ios – coredata – 提供/设置默认数据

我在我的iOS App中使用coreData.用户可以添加,删除数据到数据库中.
我必须提供认数据(一些不同的数据集).
目前,我正在通过首次应用程序启动创建数据库.我从csv文件中读取数据并用它创建数据库.
csv位于Application沙箱中; coreData(managedDocument)位于ApplicationDocument中(在运行时创建…).

它对我来说很完美 – 但我问我,如果我将App推送到AppStore,Apple会允许吗?

解决方法

这种方法没有任何问题,也不能成为拒绝的理由.还有另一种方法可以做到这一点.您可以按照现在的方式创建数据库,复制.sqlite文件并将其作为数据库提供.然后在应用程序首次运行时复制它.以下代码将执行此操作:
NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent: @"Yourdbname.sqlite"];
    if (![fileManager fileExistsAtPath:storeURL.path]) {
        Nsstring *defaultStorePath = [[NSBundle mainBundle] pathForResource:@"Yourdbname" ofType:@"sqlite"];
        if (defaultStorePath) {
            [fileManager copyItemAtPath:defaultStorePath toPath:storeURL.path error:NULL];
        }
    }

使用此方法,您无需在捆绑包中包含csv文件.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...