NSMutableDictionaryを(とりわけ)別のクラスのメソッドに渡すコードのチャンクがあります。
[self.shuttle makeAPICallAndReturnResultsUsingMode:@"login" module:@"login" query:credentials];
NSMutableArrayクレデンシャルは、以前は次のように定義されていました。
NSMutableDictionary *credentials = [[NSMutableDictionary alloc] init];
[credentials setObject:username forKey:@"username"];
[credentials setObject:password forKey:@"password"];
それを受け取るメソッドは次のようになります。
-(id)makeAPICallAndReturnResultsUsingMode:(NSString *)mode module:(NSString *)module query:(NSMutableDictionary *)query
上記のメソッド内では、この時点までコードは正常に機能します。
[query setObject:self.sessionID forKey:@"session_id"];
この時点で、アプリケーションは終了します。コンソールはこの例外を通知します。
*キャッチされなかった例外によるアプリの終了'NSInvalidArgumentException'、理由:'* -[NSCFDictionary setObject:forKey:]:初期化されていない可変ディクショナリオブジェクトに送信されたメソッド'
これにより、新しいメソッドにアクセスする前に、何らかの方法でNSMutableDictionaryを初期化する必要があると思いますが、その方法がわかりません。何かアドバイス?