Sam*_*les 0 core-data objective-c nsmanagedobject ios
我正在制作一个应用程序,您需要使用 4 位密码登录,但一次只能有一个密码。我正在尝试将其保存到核心数据,但每当用户添加新密码时,它只会将其添加到长列表中。如何限制一个实体只有一个它自己的实例?
这是我的代码,以防万一它会有所帮助:
-(BOOL)savePassword:(NSString*)password{
AppDelegate * appDelegate = [[AppDelegate alloc]init];
NSManagedObjectContext * context = [appDelegate managedObjectContext];
AppData * appData = (AppData*)[NSEntityDescription insertNewObjectForEntityForName:@"AppData" inManagedObjectContext:context];
appData.password = password;
NSError *error;
if (![context save:&error]) {
NSLog(@"Whoops, couldn't save: %@", [error localizedDescription]);
}
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"AppData" inManagedObjectContext:context];
[fetchRequest setEntity:entity];
NSArray *fetchedObjects = [context executeFetchRequest:fetchRequest error:&error];
if (fetchedObjects == nil) {
NSLog(@"There was an error:%@",error);
}
for (AppData * adata in fetchedObjects) {
NSLog(@"Password:%@",adata.password);
}
return YES;
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
正确的做法是不要将这些数据放在 Core Data 中。如果你只有一个实例,那么使用 Core Data 来解决问题是没有意义的。为此使用 Core Data 没有任何好处。把它放在别的地方。代码解决方案没有抓住重点,因为即使它有效,它也是一个糟糕的设计。
| 归档时间: |
|
| 查看次数: |
828 次 |
| 最近记录: |