私は以下のようなコードを持っています。私はWebサーバーからJSONを取得しています。それは次のエラーでクラッシュししかしNSMutableDictionaryのsetValue forKeyがクラッシュする
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);
}];
:今
* Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[__NSCFDictionary setObject:forKey:]: mutating method sent to immutable object'
、私は取得しないものを、私はNSMutableDictionary
をインスタンス化されるdataDict、中setValue:forKey
にしようとしていますので、私はあるべきであるということですsetValueにできる。
私はそう私と一緒に裸してください:)事前に
おかげで、 フィッシャーを
'dataDict'をリリースすることを忘れないでください。 – jrtc27
@ jrtc27真。私はちょうどその人がARCを使用している場合は、変更可能な部分を強調したいと思っていました。 – Alladinian
彼はARCを使用している可能性があります。私のプロジェクトがそれを使用していないので、私はしばしばそれを忘れる。 – jrtc27