核心数据返回不正确的值(虽然接近正确)

时间:2013-04-25 16:49:31

标签: cocoa core-data nspredicate

好吧所以我要求核心数据记录(userKey),该记录是我正在提取的PublicKey,但是,publicKey最终是90%正确但在开头有一些额外的字符并被封装在括号中。

我认为我的问题是我得到一个指针而不是来自userMatches的数据。任何指导都将不胜感激。

AppDelegate *appdelagate = [[UIApplication sharedApplication]delegate];
context = [appdelagate managedObjectContext];

NSEntityDescription *entitydesc = [NSEntityDescription entityForName:@"KeyData" inManagedObjectContext:context];
NSFetchRequest *request = [[NSFetchRequest alloc]init];

predicate = [NSPredicate predicateWithFormat:@"userKeyCD = %@", userKey];
[request setEntity:entitydesc];
[request setPredicate:predicate];

userMatches = [context executeFetchRequest:request error:&error];

NSString *publicKey = [userMatches valueForKey:@"publicKeyCD"];

1 个答案:

答案 0 :(得分:0)

好吧所以我把最后一行更改为了这个并且工作正常;

    NSString *publicKey = [[userMatches objectAtIndex:0] valueForKey:@"publicKeyCD"];

我没有说明它是如何定义的,但userMatches是一个NSArray(对不起)。它以类似的方式在代码中使用;

   NSArray *userMatches = [context executeFetchRequest:request error:&error];

现在我认为它是一个正确类型的数组?