小编Cod*_*son的帖子

NSPredicate具有动态密钥和价值

我正在尝试创建一个函数,搜索我的核心数据堆栈并返回所需键/值的消息量.

这是我的代码:

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];
Run Code Online (Sandbox Code Playgroud)

问题是它每次都返回0.我找到了问题的根源.当有一个静态键时,谓词看起来像这样.

key == "value"
Run Code Online (Sandbox Code Playgroud)

当我通过动态密钥时,它看起来像这样

"key" == "value"
Run Code Online (Sandbox Code Playgroud)

所以问题似乎是通过将NSString传递给谓词而放置的第一组双引号.我该如何解决这个问题?

编辑:为了清楚起见,我需要它像第一个案例,那是有效的.

core-data filter nspredicate ios

8
推荐指数
1
解决办法
1885
查看次数

标签 统计

core-data ×1

filter ×1

ios ×1

nspredicate ×1