2012-07-21 79 views
1

iCloud不支持关系的唯一集合的有序集合。现在,我创建了一个名为'entryIndex'的属性,它存储它自己的索引值。当用户删除特定索引处的对象时,我想识别该对象并更改索引较高的对象的值。我该怎么做呢?iCloud不支持有序集..替代解决方案?

+0

使用一个NSArray? – kennytm 2012-07-21 21:42:55

回答

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]; 
相关问题