私はPerson
オブジェクトを含むNSArray
を持っています。iOS - 配列内の2つの配列とオブジェクトの比較 - ロジック問題
このpersonオブジェクトには、次のものが含まれます。
> Name
> Age
> School
> Address
> Telephone_Number
後、私は[email protected]"Jemmy";
のように、この人物オブジェクトに値を設定することになります上の(しかし、私は他の属性、年齢を設定することはありません、学校など)。
私はpersonArray
と呼ばれるNSArray
を持っていて、その中に1000人のオブジェクトレコードが含まれています。今私はName
Jemmy
を含むすべてのオブジェクトをフィルタリングする必要があります。これどうやってするの ?
私がやっていることは考えています。
NSMutableArray *arrayThatContainAllPersonObjects = [NSMutableArray arrayWithArray:personArray];
[arrayThatContainAllPersonObjects removeObjectsInArray:arrayWeAddedTheName];
しかし、私が得るのは、私のフィルタ結果を持たない配列です。とにかく、これは正しいアプローチではないかもしれません。これを解決するにはNSSets
、UNIONS
を使用することができます。
注:これは重複した質問だと言われるかもしれませんが、私はこれを多く探しています。
名前、年齢、学校はPersonオブジェクトのオブジェクトです。配列の一部であるオブジェクトの属性を比較できますか? – shajem
はい。詳細は、Predicate Programming Guide(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