iOS如何在viewDidLoad中自动释放方法?
每当应用程序第一次安装和启动时,我都会尝试调用此方法一次 我的想法是用我的数据填充核心数据表 如何在viewDidLoad中自动释放此方法iOS如何在viewDidLoad中自动释放方法?,ios,cocoa-touch,Ios,Cocoa Touch,每当应用程序第一次安装和启动时,我都会尝试调用此方法一次 我的想法是用我的数据填充核心数据表 如何在viewDidLoad中自动释放此方法 - (void)insertNewObject:(id)sender { if ((firstRun!=YES)) { NSLog(@"The data was already Added"); } else { NSManagedObjectContext *context = [self.
- (void)insertNewObject:(id)sender
{
if ((firstRun!=YES)) {
NSLog(@"The data was already Added");
}
else {
NSManagedObjectContext *context = [self.fetchedResultsController managedObjectContext];
NSEntityDescription *entity = [[self.fetchedResultsController fetchRequest] entity];
NSManagedObject *newManagedObject = [NSEntityDescription insertNewObjectForEntityForName:[entity name] inManagedObjectContext:context];
[newManagedObject setValue:[[NSString alloc]initWithFormat:@"new"] forKey:@"name"];
firstRun = NO;
// Save the context.
NSError *error = nil;
if (![context save:&error]) {
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
}
}
您可以使用
NSUserDefaults
验证它是否是第一次运行
- (void)insertNewObject:(id)sender
{
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
NSDictionary *userDefaultsDefaults = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithBool:YES], @"firstRun", nil];
[prefs registerDefaults:userDefaultsDefaults];
BOOL firstRun = [prefs boolForKey:@"firstRun"];
if (firstRun==YES) {
NSManagedObjectContext *context = [self.fetchedResultsController managedObjectContext];
NSEntityDescription *entity = [[self.fetchedResultsController fetchRequest] entity];
NSManagedObject *newManagedObject = [NSEntityDescription insertNewObjectForEntityForName:[entity name] inManagedObjectContext:context];
[newManagedObject setValue:[[NSString alloc]initWithFormat:@"new"] forKey:@"name"];
// Save the context.
NSError *error = nil;
if (![context save:&error]) {
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
[prefs setBool:NO forKey:@"firstRun"];
[prefs synchronize];
} else {
NSLog(@"The data was already Added");
}
}
您可以在
视图中使用[self-insertNewObject:nil]调用此方法将消失
或viewDidLoad
代码>你说的自动释放方法是什么意思?不应该自动为你做吗?他正在尝试验证它是否是第一次运行。。。不过,我不知道他为什么写“自动释放”,如果我有一个按钮,我就用这个代码uibarbuttoneim*addButton=[[uibarbuttoneim alloc]initwithbarbuttonsystememitem:uibarbuttonsystememidemadd-target:self-action:@selector(insertNewObject:);self.navigationItem.rightBarButtonItem=addButton代码>但如果我不想使用按钮,我需要自动运行此方法。非常感谢,这就是我想要做的;)