小编Sam*_*les的帖子

Core Data 中只有一个实体实例

我正在制作一个应用程序,您需要使用 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 …
Run Code Online (Sandbox Code Playgroud)

core-data objective-c nsmanagedobject ios

0
推荐指数
1
解决办法
828
查看次数

标签 统计

core-data ×1

ios ×1

nsmanagedobject ×1

objective-c ×1