在NSFetchRsultController
我使用:
[NSPredicate predicateWithFormat:@"type in %@", myArray];
我希望数据按数组中数据的顺序排列,但是NSSortDescriptor
对于 是强制性的NSFetchResultController
,那么NSSortDescriptor
我必须使用什么?
用户1800529,
看来您希望将顺序顺序的东西插入到您的数据库中。Core Data 不保证该顺序。因此,您需要选择要排序的东西。我使用创建时间,这是在我的大多数实体中,但您可以轻松地使用另一个属性。
安德鲁
您可以使用sortDescriptors
按照数组的顺序对数据进行排序。
排序描述符指定发出获取请求时返回的对象应如何排序——例如,按姓氏然后按名字。排序描述符按照它们在 sortDescriptors 数组中出现的顺序应用(以最低数组索引优先顺序)。
代码示例:
...
NSMutableArray * sortDescriptors = [[NSMutableArray alloc] initWithCapacity:[myArray count]];
for (NSString * key in myArray)
[sortDescriptors addObject:[[NSSortDescriptor alloc] initWithKey:key ascending:NO]];
[fetchRequest setSortDescriptors:sortDescriptors];
[sortDescriptors release];
...