2015-09-22 36 views

回答

0

基于Apple文档NSUserDefaults类参考“从NSUserDefaults返回的值是不可变的,即使您将可变对象设置为值。例如,如果将可变字符串设置为“MyStringDefault”的值,则稍后使用stringForKey检索的字符串将不可变“

0

尝试像这样在你的tableview删除功能

NSMutableArray *dataArray = [[NSUserDefaults standardUserDefaults] valueForKey:@"SavedArray"]; 
[dataArray removeObjectAtIndex:yourIndex]; 
[[NSUserDefaults standardUserDefaults ] setValue:dataArray forKey:@"SavedArray"]; 
[[NSUserDefaults standardUserDefaults]synchronize]; 

使用此代码,你会删除或重新保存您的userdefaults

0

阵列在你didSelect

NSMutableArray *yourArray=[[NSMutableArray alloc]init]; 
[yourArray removeObjectAtIndex:indexPath.row]; 
[self.tableView reloadData]; 
0

这是三个步骤:

第1步:取&保存用户信息的可变数组:

NSMutableArray *userDetailsArray = [[[NSUserDefaults standardUserDefaults] objectForKey:@"userDetails"] mutableCopy]; 

第2步:更新您的数据阵列一旦用户删除的东西。使用下面的方法的任何:

[userDetailsArray removeObject:<Your_Object>]; 
[userDetailsArray removeObjectAtIndex:<Your_Index>]; 

第3步:最后保存它们放回NSUserDefaults

[[NSUserDefaults standardUserDefaults] setObject:userDetailsArray forKey:@"userDetails"]; 
[[NSUserDefaults standardUserDefaults] synchronize]; 
0

如果你只想删除所有NSUser默认使用: -

NSUserDefaults.standardUserDefaults().removePersistentDomainForName(NSBundle.mainBundle().bundleIdentifier!)