ListItem というカスタム NSObject があります。ListItems で満たされた配列があります。ListItem のプロパティの 1 つに名前があります (特に ID、作成日など)。
私の質問:すべての ListItems の名前だけで新しい配列を作成できますか? 基本的に、NSString の配列が残ります。もちろん、単純に for ループを作成することもできますが、もっと良い方法はありますか?
ListItem というカスタム NSObject があります。ListItems で満たされた配列があります。ListItem のプロパティの 1 つに名前があります (特に ID、作成日など)。
私の質問:すべての ListItems の名前だけで新しい配列を作成できますか? 基本的に、NSString の配列が残ります。もちろん、単純に for ループを作成することもできますが、もっと良い方法はありますか?
はいあります。
NSArray *array = ...
NSArray *names = [array valueForKeyPath:@"@unionOfObjects.name"];
これは、キー値コーディング (KVC) コレクション オペレーターです。
NSHIpsterから:
@unionOfObjects / @distinctUnionOfObjects: 演算子の右側のキー パスで指定されたプロパティ内のオブジェクトの配列を返します。