0

我需要按特定顺序遍历 coredata 模型中的 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 回答