【发布时间】:2012-04-12 11:39:58
【问题描述】:
我有如下代码。我正在从 Web 服务器检索 JSON。
AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON)
{
for (NSMutableDictionary * dataDict in JSON) {
if ([dataDict objectForKey:@"userPicture"])
{
objectForKey:@"userPicture"]);
NSURL *url = [NSURL URLWithString:[dataDict objectForKey:@"userPicture"]];
UIImage *image = [UIImage imageWithData: [NSData dataWithContentsOfURL:url]];
[dataDict setValue:@"userPicture"
forKey:@"userPicture"];
}
[messageList addObject: dataDict];
}
[self processComplete];
}
failure:^(NSURLRequest *request , NSURLResponse *response , NSError *error , id JSON)
{
NSLog(@"Failed: %@", error);
}];
但它会因以下错误而崩溃:
*** 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:'-[__NSCFDictionary setObject:forKey:]: 变异方法发送到不可变对象'
现在,我不明白的是,我正在尝试在 dataDict 中 setValue:forKey,它被实例化为 NSMutableDictionary,所以我应该能够设置值。
【问题讨论】:
标签: objective-c ios nsmutabledictionary