我需要按照特定的顺序遍历coredata模型中的NSArrayController。
让我们说我的模型有这些列:
animal (string)
name (string)
age (int)
我想像这样通过控制器迭代:
for (animal *a in myNsArrayController.arrangedObjects)
{
// Rest of code
}
但是我需要按动物年龄排序......我怎么能这样做?
搜索没有给我带来任何可用的结果..
答案 0 :(得分: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
}
答案 1 :(得分:1)
首先根据动物年龄对数组进行排序。
然后循环播放。
NSSortDescriptor *sort = [NSSortDescriptor sortDescriptorWithKey:@"animalAge" ascending:YES];
[yourArray sortUsingDescriptors:[NSArray arrayWithObject:sort]];
编辑:
NSArray *yourArray=myNsArrayController.arrangedObjects;