我有一個數字,我希望能夠刪除行的實現代碼如下。填充tableview的數據存儲在一個NSMutableArray中。要刪除一個行的數據我打電話:的NSMutableArray removeObjectAtIndex崩潰的第二次執行
- (void)deleteFromArray:(NSUInteger) number{
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; //load NSUserDefaults
NSMutableArray *storedArray = [[ NSMutableArray alloc] init];
storedArray = [prefs objectForKey: @"mydata"];
[storedArray removeObjectAtIndex:number];
[prefs setObject:storedArray forKey:@"mydata"];
[storedArray release];
[prefs synchronize];
}
從
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (editingStyle == UITableViewCellEditingStyleDelete) {
subscribe *subscribeclass = [subscribe alloc];
[subscribeclass deleteFromArray: indexPath.row];
[myTableView reloadData];
}
}
這工作得很好,我第一次刪除一行。但是,當我刪除秒排的應用程序崩潰在deleteFromArray以下行:
[storedArray removeObjectAtIndex:number];
任何想法,爲什麼?
是什麼崩潰說? – Peres
「 - [__ NSCFArray removeObjectAtIndex:]:發送到不可變對象變異方法」 – PonySlays
顯然你'storedArray'是'NSArray',這就是爲什麼你不能調用方法。 – Peres