【发布时间】:2014-02-18 17:00:25
【问题描述】:
我正在尝试创建一个函数来搜索我的核心数据堆栈并返回所需键/值的消息量。
这是我的代码:
NSFetchRequest *messagesCountRequest = [NSFetchRequest fetchRequestWithEntityName:@"Message"];
NSEntityDescription *messageCountModel = [NSEntityDescription entityForName:@"Message" inManagedObjectContext:_mainManagedObjectContext];
[messagesCountRequest setEntity:messageCountModel];
NSPredicate *messageCountPredicate = [NSPredicate predicateWithFormat:@"%@ == %@", key, value];
[messagesCountRequest setPredicate:messageCountPredicate];
count = (int)[_mainManagedObjectContext countForFetchRequest:messagesCountRequest error:nil];
问题是它每次都返回 0。我已经找到了问题的根源。当有一个静态键时,谓词看起来像这样。
key == "value"
当我通过动态键时,它看起来像这样
"key" == "value"
所以问题似乎是通过将 NSString 传递给谓词放置的键周围的第一组双引号。我该如何解决这个问题?
编辑:为了清楚起见,我需要它像第一种情况一样,这是可行的。
【问题讨论】:
标签: ios core-data filter nspredicate