我正在尝试使用NSPredicate获取领域对象。
这不起作用
RLMResults *activtyResults = [[[self getActivitySource]activities] objectsWhere:@"ID ==[c] '%@'",activityID];
activtyResults是零
这有效:
for (RealmActivity *activity in [[self getActivitySource]activities]){
if ([activity.ID isEqualToString:activityID]) {
return activity;
}
}
activityID是一个uuid:f20f6217-9cb6-4fe1-9333-8956d1252112
为什么谓词格式@"ID ==[c] '%@'"
在这里不起作用?它与属性名称是ID有什么关系吗?
答案 0 :(得分:0)
ID == %@
的谓词将等同于您共享的命令性代码。
我希望您使用的谓词生成错误,而不是静默返回nil
,因为它包含无关的单引号。缺少错误以及您看到的nil
结果会告诉我您正在调用-objectsWhere:
的对象可能是nil
。