iCloud不支持有序套装..替代解决方案?

时间:2012-07-21 21:29:57

标签: iphone objective-c ios icloud nsset

iCloud不支持关系的有序集,只支持集。现在,我已经创建了一个名为'entryIndex'的属性,它存储了它自己的索引值。当用户删除特定索引处的对象时,我想识别该对象并更改具有更高索引的对象的值。我该怎么做?

1 个答案:

答案 0 :(得分:1)

假设你有连续的索引,并希望保持它们“紧密”而没有间隙:

NSArray *filtered = [fetchedObjects filteredArrayUsingPredicate:
   [NSPredicate predicateWithFormat:@"entryIndex > %@", 
                                    deletedObject.entryIndex]];
for (NSManagedObject *obj in filtered) {
   obj.entryIndex = [NSNumber numberWithInt:[obj.entryIndex intValue]-1];
}
[self.managedObjectContext save:nil];