如何在重新排列到NSUserDefaults

时间:2015-08-29 07:43:28

标签: ios objective-c uitableview nsarray nsuserdefaults

我使用Objective-C& C开发的iOS应用程序。 Xcode 6.4

知道我正在努力手动重新排列UITableViewController单元格,一切都运行良好。但是按下按钮后编辑按钮和#34; 3强调"似乎在UITableViewController中将单元格拖动到我想要的位置, ((我无法保存我所做的)) 。那么我怎么能做持久保存对表格单元格位置所做的更改?我的意思是,如何将新重新排列的NSMutableArray保存到属性列表 - NSUserDefaults -

我使用Mutable Array来显示表格的单元格和以下方法:

-(UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath {
    return UITableViewCellEditingStyleNone;
}

-(BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath {
    return YES;
}

-(BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
    return YES;
}

- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath {
    FileWML *fileWML = [self.filesWML objectAtIndex:sourceIndexPath.row];
    [self.filesWML removeObjectAtIndex:sourceIndexPath.row];
    [self.filesWML insertObject:fileWML atIndex:destinationIndexPath.row];
}

PLUS 有人会告诉我在编辑时如何让编辑按钮显示“完成”一词?

((我无法保存我所做的事情)) 意味着:在我执行了我想要的重新排列顺序之后,然后我去了主页视图然后我回到表格视图我编辑和重新排列,重新排列顺序我确实回到默认顺序。所以,我做的所有重新安排都没了。

谢谢,感谢所有帮助。

1 个答案:

答案 0 :(得分:1)

您必须从文件中加载数据。这个数组将是你的tableView dataSource。 移动行时,在委托方法中,您必须更改对象在数组中的位置。您的数组应始终与您的tableview相同! 完成tableview的编辑后,将数组保存在文件中。应删除文件中的先前内容。然后重新加载数据([tableView reloadData]。