您好,
我有以下代码来设置tableView的重新排序。
#pragma mark Row reordering
// Determine whether a given row is eligible for reordering or not.
- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath {
return YES;
}
// Process the row move. This means updating the data model to <span id="IL_AD6" class="IL_AD">correct</span> the item indices.
- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath
toIndexPath:(NSIndexPath *)toIndexPath {
NSString *item = [arr objectAtIndex:fromIndexPath.row];
[arr removeObject:item];
[arr insertObject:item atIndex:toIndexPath.row];
}
但是当我重新加载TableView时(注意不是TableViewController)顺序设置回到我改变之前的状态。
现在,当我为此视图设置编辑(删除按钮)时,我不得不添加以下行:
[self.mainTableView setEditing:YES animated:YES];
在我看来之前。
我需要设置一个类似的事情来重新排序表格视图以便保存吗?
从Core Data数据库中提取数据。
答案 0 :(得分:1)
为了坚持对象的顺序我害怕你需要为添加属性到你的数据模型。只需使用int
/ [NSNumber]
,并在移动表格视图行时在循环中重新计算它们。
答案 1 :(得分:0)
重新加载数据时,是否使用Core Data实体的提取结果重新填充该数组?如果是这样,您对阵列所做的更改(我假设是电视的数据源)将被吹走。如果您希望这些更改坚持下去,您需要以某种方式更新模型,以确保数组的重新填充导致数组按您所需的方式编制索引。