wol*_*evo 36 core-data nspredicate ios
如何比较NSPredicate中的两个NSNumber或NSNumber和Integer?
我试过了:
NSNumber *stdUserNumber = [NSNumber numberWithInteger:[[NSUserDefaults standardUserDefaults] integerForKey:@"standardUser"]];
fetchRequest.predicate = [NSPredicate predicateWithFormat:@"userID == %@", stdUserNumber];
Run Code Online (Sandbox Code Playgroud)
嗯,这不起作用......任何人都知道如何做到这一点?我确定它很简单,但我找不到任何东西......
Emp*_*ack 91
NSNumber
是一种对象类型.与之不同NSString
,NSNumber的实际值在与%@
格式一起使用时不会替代.您必须使用预定义的方法获取实际值,例如intValue
返回整数值.并使用格式替换器,%d
因为我们将替换整数值.
谓词应该是,
predicateWithFormat:@"userID == %d", [stdUserNumber intValue]];
Run Code Online (Sandbox Code Playgroud)