ich den Code wie unten haben. Ich lade JSON von einem Webserver ab.setValue forKey in NSMutableDictionary stürzt
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);
}];
jedoch mit dem folgenden Fehler abstürzt:
* Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[__NSCFDictionary setObject:forKey:]: mutating method sent to immutable object'
Nun, was ich nicht bekommen, ist, dass ich zu setValue:forKey
in dataDict bin versucht, die NSMutableDictionary
instanziert wird, so sollte ich sein kann setValue.
Ich bin ein Anfänger-Programmierer, so entblößen bitte mit mir :)
Vielen Dank im Voraus, Fischer
Denken Sie daran, 'dataDict' freizugeben. – jrtc27
@ jrtc27 Wahr. Ich wollte nur den veränderlichen Teil betonen (auch nicht jetzt, wenn der Typ ARC verwendet). – Alladinian
Er könnte ARC verwenden. Ich vergesse es oft, da es in keinem meiner Projekte verwendet wird. – jrtc27