Core data 在CoreData中使用SensorOrderedSet对UITableView重新排序

Core data 在CoreData中使用SensorOrderedSet对UITableView重新排序,core-data,ios5,xcode4.2,uitableview,Core Data,Ios5,Xcode4.2,Uitableview,是否有人拥有使用UnsorderedSet在UITableView中订购的示例代码 我读过很多关于重新排序的文章,但仍然不知道如何在iOS5中做到这一点。嗨,我是这样实现的。“currentObject”是关系的根对象,“subItems”是UITableViewController管理的模型中有序关系的名称 - (void)moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPat

是否有人拥有使用UnsorderedSet在UITableView中订购的示例代码


我读过很多关于重新排序的文章,但仍然不知道如何在iOS5中做到这一点。

嗨,我是这样实现的。“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];
 }

这是非常有用的,但是…嗨@Stephan,我正在使用FRC如何使用FRCHi@Ranjit实现这一点,据我所知,NSFetchedResultController无法访问NSMutableOrderedSet的任意顺序。我的意思是现在有办法把它取回来。您可以获取根对象,但我猜这不是您想要的。因此,我在项目中使用FRC属性解决方案,而不是有序关系。第二个缺点是iCloud还不支持NSMutableOrderedSet。嗨@Stephan,如果我们使用一个属性来维护项目的顺序,那么假设我有100个项目,并且我删除了中间的任何项目,我必须重新计算order属性值,每次这样做都将是一件非常困难的事情headache@Ranjit这取决于您如何实现这一点。但这是这个问题的主题。看看我在中的答案和我的ref实现