2016-09-13 2 views
0

Это условие работыNSPredicate с ANY и «= ноль» не работает

NSPredicate *predicate = [NSPredicate predicateWithFormat: 
     @"ANY region.beacons.major = %d",rangedBeacon.major.intValue]; 

Но это не

NSPredicate *predicate = [NSPredicate predicateWithFormat: 
     @"ANY region.beacons.minor = nil"]; 

маяки список внутри объекта области. Основные и второстепенные имеют тип NSNumber

+0

Какое значение у вас? это нуль? – Sujit

+0

Это может быть ноль. Nil - это не ноль. –

+0

can u print beacons – Sujit

ответ

0

Я нашел решение

из-за любого и «= ноль» не может быть в том же состоянии (объяснение здесь Core Data, NSPredicate, ANY key.path == nil)? решение этой проблемы выглядит следующим образом:

NSPredicate *predicate = [NSPredicate predicateWithFormat: 
     @"SUBQUERY(region.beacons, $x, $x.minor == nil)"]; 
0

Вы можете попробовать это:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY region.beacons.minor = $minor"]; 
predicate = [predicate predicateWithSubstitutionVariables: 
[NSDictionary dictionaryWithObject:[NSNull null] forKey: @"minor"]]; 
+0

Нет, к сожалению. –

+0

Вы можете проверить эту ссылку, как вы сказали, майор и младший являются NSNumber, для проверки пустых значений: http://stackoverflow.com/questions/3716599/check-if-nsnumber-is-empty – ZetaPR

Смежные вопросы