我有一個NSArray
其中包含Person
對象。iOS - 比較數組中的2個數組和對象 - 邏輯問題
此人物包含以下內容;
> Name
> Age
> School
> Address
> Telephone_Number
稍後我將值設置這個人的對象,像[email protected]"Jemmy";
(但我不會設置其他屬性,年齡,學校等)。
我有一個NSArray
調用personArray
,它包含1000人的對象記錄。現在我需要篩選出包含Name
Jemmy
的所有對象。我怎樣才能做到這一點 ?
我在想什麼是;
NSMutableArray *arrayThatContainAllPersonObjects = [NSMutableArray arrayWithArray:personArray];
[arrayThatContainAllPersonObjects removeObjectsInArray:arrayWeAddedTheName];
但是,我會得到的是,沒有我的過濾結果的數組。無論如何,這可能不是正確的方法。我相信我們可以用NSSets
,UNIONS
來解決這個問題。
注:有人可能會說這是一個重複的問題,但我已經在這方面進行了太多的搜索。
但名稱,年齡,學校是Person對象的對象。那麼我可以比較屬於數組的一部分的對象的屬性嗎? – shajem 2012-02-07 15:13:47
是的。有關詳細信息,請參閱「謂詞編程指南」(https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Predicates/predicates.html#//apple_ref/doc/uid/TP40001789)。 'filteredArrayUsingPredicate'將'NSPredicate'應用到數組的每個成員,並且只給出一個只包含與謂詞匹配的元素的數組。如果person.name = @「Jemmy」,我給出的NSPredicate將匹配Person *人。 – yuji 2012-02-07 15:20:53