Issue passing NSMutableDictionary to a method
- by roswell
Hello all,
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 like this:
NSMutableDictionary *credentials = [[NSMutableDictionary alloc] init];
[credentials setObject:username forKey:@"username"];
[credentials setObject:password forKey:@"password"];
The method that receives it looks like this:
-(id)makeAPICallAndReturnResultsUsingMode:(NSString *)mode module:(NSString *)module query:(NSMutableDictionary *)query
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?