Issue Passing NSMutableDictionary to Method
- by roswell
Hello all,
I'm trying some basic iPhone programming -- all has been going well but recently I've hit a bit of a roadblock. I've got a chunk of code that's passing an NSMutableDictionary (amongst other things) to a method in another class:
[self.shuttle makeAPICallAndReturnResultsUsingMode:@"login" module:@"login" query:credentials];
The NSMutableArray credentials is previously defined a bit above as such:
NSMutableDictionary *credentials = [[NSMutableDictionary alloc] init];
[credentials setObject:username forKey:@"username"];
[credentials setObject:password forKey:@"password"];
The method that receives it looks like such:
-(id)makeAPICallAndReturnResultsUsingMode:(NSString *)mode module:(NSString *)module query:(NSMutableDictionary *)query
From debugging I have determined that the code works fine up until this point within the above method:
[query setObject:self.sessionID forKey:@"session_id"];
At this point, the application terminates -- the Console informs me of this exception:
* Terminating app due to uncaught exception
'NSInvalidArgumentException', reason:
'* -[NSCFDictionary
setObject:forKey:]: method sent to an
uninitialized mutable dictionary
object'
This leads me to believe that I must initialize NSMutableDictionary in some way in my new method before I can access it, but I have no idea how. Any advice?