0
我正在学习NSPredicate,我有一个问题的例子。NSPredicate格式字符串意想不到的结果
NSArray * array = @[@{@"name":@"KudoCC"}, @{@"name":@"123"}] ;
NSPredicate * predicate = [NSPredicate predicateWithFormat:@"name == '%@'", @123] ;
NSArray * result = [array filteredArrayUsingPredicate:predicate] ;
这里的参数是@ 123,它是NSNumber
类型。我认为它的工作原理与@"name == '123'"
相同,但结果为零,我预计为@{@"name":@"123"}
。
有人可以告诉我为什么吗?先谢谢你。
不,它是不同的。 “@”%K =='%@'“ 该谓词检查键%K的值是否等于字符串字面值”%@“(注意%@周围的单引号)。在运行时作为参数提供给predicateWithFormat :.“ – KudoCC
是的,我知道,我想你不想这样做。 –
抱歉误会了你,我编辑了我的问题,请帮忙。 – KudoCC