Объекты области, где не работает

Я пытаюсь получить объекты области с помощью 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 ответ

Предикат ID == %@ будет эквивалентен императивному коду, которым вы поделились.

Я ожидаю, что предикат, который вы использовали для генерации ошибки, вместо молча nil, из-за посторонних одинарных кавычек, которые он содержит. Отсутствие ошибки в сочетании с nil результат, который вы видите, наводит на мысль, что объект, который вы вызываете -objectsWhere: вероятно nil,

Другие вопросы по тегам