Core data 如何预填充数据库并在核心数据中设置标志,以确保每次安装应用程序时仅向数据库插入一次对象
我需要使用核心数据预填充我的数据库,但需要设置一个标志,指示该应用程序是否在安装后首次启动。我不知道怎么做 下面是我在appDelegate.m文件中的操作Core data 如何预填充数据库并在核心数据中设置标志,以确保每次安装应用程序时仅向数据库插入一次对象,core-data,nsfetchrequest,nspersistentstore,Core Data,Nsfetchrequest,Nspersistentstore,我需要使用核心数据预填充我的数据库,但需要设置一个标志,指示该应用程序是否在安装后首次启动。我不知道怎么做 下面是我在appDelegate.m文件中的操作 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { NSManagedObjectContext *context = [self managedObjectConte
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NSManagedObjectContext *context = [self managedObjectContext];
DJ *djsInfo = [NSEntityDescription
insertNewObjectForEntityForName:@"DJ"
inManagedObjectContext:context];
/*DJ *djsInfo = [NSEntityDescription
insertNewObjectForEntityForName:@"DJ"
inManagedObjectContext:context];*/
djsInfo.name = @"DJ Smoke";
djsInfo.city = @"Chicago";
djsInfo.state = @"Illinois";
DJDetails *failedBankDetails = [NSEntityDescription
insertNewObjectForEntityForName:@"DJDetails"
inManagedObjectContext:context];
//failedBankDetails.closeDate = [NSDate date];
//failedBankDetails.updateDate = [NSDate date];
failedBankDetails.zip = [NSNumber numberWithInt:12345];
failedBankDetails.info = djsInfo;
djsInfo.details = failedBankDetails;
NSError *error;
if (![context save:&error]) {
NSLog(@"Whoops, couldn't save: %@", [error localizedDescription]);
}
尝试使用标准的用户默认机制
if (![[NSUserDefaults standardUserDefaults]
objectForKey:@"ThisAppWasLaunchedBefore"]) {
[[NSUserDefaults standardUserDefaults] setBool:YES
forKey:@"ThisAppWasLaunchedBefore"];
// do one-time setup stuff
}