0

特定の順序でコアデータ モデルの NSArrayController を反復処理する必要があります。

私のモデルにこれらの列があるとしましょう:

animal (string)
name (string)
age (int)

そして、次のようにコントローラーを繰り返し処理したいと思います。

for (animal *a in myNsArrayController.arrangedObjects)
{
  // Rest of code
}

しかし、動物の年齢順に並べる必要があります...どうすればそれができますか?

検索しても、使用可能な結果は得られませんでした..

4

2 に答える 2

2

これを試してみてください。AKV の回答から構築されていますが、コードを使用し、for ループが含まれています。これはうまくいくはずだと思います!

NSSortDescriptor *sort = [NSSortDescriptor sortDescriptorWithKey:@"age" ascending:YES];
NSArray *sortedArray = [myNsArrayController.arrangedObjects sortedArrayUsingDescriptors:[NSArray arrayWithObject:sort]];
for (animal *a in sortedArray)
{
  // Rest of code
}
于 2013-01-29T18:44:02.300 に答える
1

まず、動物の年齢に基づいて配列を並べ替えます。

次に、それをループします。

NSSortDescriptor *sort = [NSSortDescriptor sortDescriptorWithKey:@"animalAge" ascending:YES];
[yourArray sortUsingDescriptors:[NSArray arrayWithObject:sort]];

編集:

NSArray *yourArray=myNsArrayController.arrangedObjects;
于 2013-01-29T18:19:25.753 に答える