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