Core data 如何预填充数据库并在核心数据中设置标志,以确保每次安装应用程序时仅向数据库插入一次对象

Core data 如何预填充数据库并在核心数据中设置标志,以确保每次安装应用程序时仅向数据库插入一次对象,core-data,nsfetchrequest,nspersistentstore,Core Data,Nsfetchrequest,Nspersistentstore,我需要使用核心数据预填充我的数据库,但需要设置一个标志,指示该应用程序是否在安装后首次启动。我不知道怎么做 下面是我在appDelegate.m文件中的操作 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { NSManagedObjectContext *context = [self managedObjectConte

我需要使用核心数据预填充我的数据库,但需要设置一个标志,指示该应用程序是否在安装后首次启动。我不知道怎么做

下面是我在appDelegate.m文件中的操作

- (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
 }