0

このコードを使用して、Core データから何かを取得しています。

NSFetchRequest *req = [[NSFetchRequest alloc] initWithEntityName:@"Friend"];

NSString *predicateString = [NSString stringWithFormat:
                             @"identifier == %@", [[friendInfo objectForKey:@"id"] stringFromMD5]];
NSPredicate *predicate = [NSPredicate predicateWithFormat:predicateString];
req.predicate = predicate;

req.fetchLimit = 1;
NSError *requestError = nil;
NSArray *tmp = [self.managedObjectContext executeFetchRequest:req error:&requestError];

しかし、それはクラッシュします

NSString *predicateString = [NSString stringWithFormat:
                                 @"identifier == %@", [[friendInfo objectForKey:@"id"] stringFromMD5]];

stringFromMD5 メソッド呼び出しを削除すると、機能します。

NSString *predicateString = [NSString stringWithFormat:
                                     @"identifier == %@", [friendInfo objectForKey:@"id"]];

理由はありますか?ありがとう

4

1 に答える 1

2

次の方法を試してください。うまくいくかもしれません。

NSPredicate *_predicate = [NSPredicate predicateWithFormat:@"%K == %@", @"identifier", [[friendInfo objectForKey:@"id"] stringFromMD5]];
于 2012-07-20T13:16:29.797 に答える