领域对象哪里不起作用

时间:2017-08-08 15:27:24

标签: ios realm nspredicate

我正在尝试使用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有什么关系吗?

1 个答案:

答案 0 :(得分:0)

ID == %@的谓词将等同于您共享的命令性代码。

我希望您使用的谓词生成错误,而不是静默返回nil,因为它包含无关的单引号。缺少错误以及您看到的nil结果会告诉我您正在调用-objectsWhere:的对象可能是nil