0

これはかなり簡単なはずです。People オブジェクトの NSSet があります。セット内で姓がアルファベット順で最初になる人物のオブジェクトを取得するにはどうすればよいですか?

4

2 に答える 2

0

メソッド firstObjectInSet:usingComparator を記述します。

NSSet のカテゴリ メソッドにすることもできます。

このメソッドでは、セット内のオブジェクトを単純にループします (おそらく enumerateObjectsUsingBlock を使用します)。セット外のローカル (_block) 変数 firstObject を定義する必要があります。繰り返しごとに、新しいオブジェクトが前のオブジェクトの前にある場合は、firstObject を新しいオブジェクトに置き換えます。列挙が完了したら、メソッドの結果として firstObject を返します。これは常にセットを 1 回だけ通過し、最初のオブジェクトを返します。

それほど柔軟である必要がない場合は、NSComparator パラメータを削除し、メソッドをハードコードして最初のオブジェクトを見つけます。

于 2013-10-13T20:55:49.147 に答える