我在userdefaults中保存了一个字典数组。在tableview中查看在dictionaty中保存的对象。当点击表格视图单元格的删除按钮时,会弹出一个确认用户是否要删除的弹出窗口。单击是时,应从表视图和用户默认值中删除所选对象。 请帮忙。 任何帮助都会很明显。 提前谢谢。
答案 0 :(得分:2)
没有动画的简单版
// First of all remove it from userDefaults
NSMutableArray *yourArray = [[[NSUserDefaults standardUserDefaults] objectForKey:@"YourArray"] mutableCopy];
[yourArray removeObjectAtIndex:indexPath.row];
[[NSUserDefaults standardUserDefaults] setObject:yourArray forKey:@"YourArray"];
[[NSUserDefaults standardUserDefaults] synchronize];
// Reload your tableView with a new data
self.tableData = yourArray;
[self.tableView reloadData];
没有动画的扩展版
- (void)tableView:(UITableView *)tableView
commitEditingStyle:(UITableViewCellEditingStyle)editingStyle
forRowAtIndexPath:(NSIndexPath *)indexPath
{
// First of all remove it from userDefaults
NSMutableArray *yourArray = [[[NSUserDefaults standardUserDefaults] objectForKey:@"YourArray"] mutableCopy];
[yourArray removeObjectAtIndex:indexPath.row];
[[NSUserDefaults standardUserDefaults] setObject:yourArray forKey:@"YourArray"];
[[NSUserDefaults standardUserDefaults] synchronize];
// Refresh your tableView with a new data
self.tableData = yourArray;
[self.tableView beginUpdates];
[self.tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationMiddle];
[self.tableView endUpdates];
}
答案 1 :(得分:-2)
要更改用户默认值,请使用setObject方法。