使用CoreData中的NSOrderedSet重新排序UITableView

Shm*_*idt 3 core-data uitableview ios5 xcode4.2

有没有人有使用NSOrderedSet在UITableView中进行排序的示例代码?

曾阅读过很多关于重新排序的文章,但仍然不明白如何在iOS5中做到这一点.

Ste*_*han 5

嗨,我这样实现了它."currentObject"是关系的根对象,"subItems"是由UITableViewController管理的模型中有序关系的名称.

 - (void)moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath
 {

   NSMutableOrderedSet* orderedSet = [self.currentObject mutableOrderedSetValueForKey:@"subItems"];

   NSInteger fromIndex = fromIndexPath.row;
   NSInteger toIndex = toIndexPath.row;

   // see  http://www.wannabegeek.com/?p=74
   NSIndexSet *indexes = [NSIndexSet indexSetWithIndex:fromIndex];

   if (fromIndex > toIndex) {
    // we're moving up
    [orderedSet moveObjectsAtIndexes:indexes toIndex:toIndex];
   } else {
    // we're moving down
    [orderedSet moveObjectsAtIndexes:indexes toIndex:toIndex-[indexes count]];
   }

   [self.dataStore saveObjectContext];
 }
Run Code Online (Sandbox Code Playgroud)