以下來自Apple iOS文檔的示例充滿了垃圾和錯誤,我懷疑它們是否曾將代碼放入Xcode中! Null Values in Using Predicates使用謂詞時的空值
但是我真的很想知道作家真的想向窮人讀者展示什麼! 任何人都可以糾正這些蹩腳的代碼,使其對話題有意義嗎?
謝謝!
================
Null值 比較謂詞不任何值與除空(零)空或NSNull空值匹配(即,($ value == nil)如果$ value爲零,則返回YES)。考慮下面的例子。
NSString *firstName = @"Ben";
NSArray *array = @[ @{ @"lastName" : "Turner" }];
@{ @"firstName" : @"Ben", @"lastName" : @"Ballard",
@"birthday", [NSDate dateWithString:@"1972-03-24 10:45:32
+0600"] } ];
NSPredicate *predicate =
[NSPredicate predicateWithFormat:@"firstName like %@", firstName];
NSArray *filteredArray = [array filteredArrayUsingPredicate:predicate];
NSLog(@"filteredArray: %@", filteredArray);
// Output:
// filteredArray ({birthday = 1972-03-24 10:45:32 +0600; firstName = Ben; lastName = Ballard;})
謂詞不匹配包含該鍵的firstName值本字典,但不匹配的字典,該鍵的firstName沒有價值。
爲什麼你希望它給你一個沒有名字的條目,當你按名字過濾時? – CrimsonChris
如果你想獲取所有firstNames thn爲什麼你甚至應用謂詞?簡單地獲取所有而不使用謂詞。如果你想使用predicate thn而不是設置firstName nil,那麼設置你的謂詞nil。 NSArray * filteredArray = [array filteredArrayUsingPredicate:nil]; :p –
@ iVishal + @ CrimsonChris:演示代碼來自Apple的指南,這些指南都是關於謂詞的。請點擊原始問題中的鏈接。 –