0
我得到了這樣的傳球一個NSMutableDictionary(除其他事項外)的方法在另一類代碼塊:問題路過的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,然後才能訪問它,但我不知道如何。有什麼建議?
它是在self.shuttle調用之前定義的,它將它傳遞給makeAPICallAndReturnResultsUsingMode - 根據OP我向NSMutableDictionary添加兩個值,但就是這樣。而沒了,什麼也不做它,方法字面上看起來是這樣的: - (ID)makeAPICallAndReturnResultsUsingMode:(的NSString *)模式模塊:(的NSString *)模塊查詢:(的NSMutableDictionary *)查詢 { \t [查詢setObject:self.sessionID forKey:@「session_id」]; – roswell 2010-04-04 15:59:23