IOS / Objective-C: значения NSPredicate и NULL в основной выборке данных - PullRequest
0 голосов
/ 22 мая 2018

Я пытаюсь выбрать элементы, которые не имеют значения 1 в атрибуте NSNumber.У некоторых элементов, которые я хочу получить, атрибут вообще не был установлен и поэтому имеет значение NSNull.Как я могу получить элементы, которые не равны 1, но могут быть NSNull?

Атрибут имеет значение NSNumber, и я также немного озадачен тем, стоит ли искать в 1 или @1.

Следующий код исключает значения NSNull, когда я хочу включить их:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"&hasserverid!=1"];

Спасибо за любые предложения.

1 Ответ

0 голосов
/ 22 мая 2018

Вы можете явно проверить оба случая с помощью ИЛИ:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"hasserverid != YES OR hasserverid == NULL"];

По имени вашего свойства, я предполагаю, что когда вы говорите 1, вы на самом деле ссылаетесь на значение true.Использование YES в формате предиката вместо 1 делает ваш предикат более разборчивым.

...