0
我正在做以下代碼,以便從我的一端向字典添加數據後,將字典從一個viewcontroller發送到另一個。NSInternalInconsistencyException',原因:' - [__ NSCFDictionary setObject:forKey:]:發送到不可變對象的變異方法
else if ([segue.identifier isEqualToString:@"detail"]) {
NSString *identifier=segue.identifier;
NSIndexPath *index = [self.listTableView indexPathForSelectedRow];
DetailViewController *detailViewController = [segue destinationViewController];
NSMutableDictionary *selectedDic;
selectedDic=[[NSMutableDictionary alloc]init];
selectedDic= [dataArray objectAtIndex:index.row];
[selectedDic setObject:@"abc" forKey:@"UserID"];
detailViewController.tripDetails =[selectedDic mutableCopy];
detailViewController.identifier = identifier;
}
但它顯示了上述exception.What意思以及如何修復?
行'selectedDic = [[NSMutableDictionary alloc] init];'是完全沒有必要的。 – clemens
dataArray必須包含NSDictionary,並且您正試圖在NSDictionary中設置對象,這就是崩潰的原因。在您的dataArray中添加NSMutableDictionary類型對象,它會起作用。 –