2012-04-29 27 views
0
存儲當方法參數傳遞值越來越空
- (void) msg:(NSString *)msg from:(NSString *)from 
{ 
    NSMutableDictionary *m = [[NSMutableDictionary alloc] init]; 
    [m setObject:msg forKey:@"msg"]; 
    [m setObject:from forKey:@"sender"]; 
    [m setObject:[NSString getCurrentTime] forKey:@"time"]; 


NSLog(@"MSG=>%@ : FROM=>%@ : TIME=>%@",[m objectForKey:msg], [m objectForKey:@"sender"], [m objectForKey:@"time"]); 

NSLog(@"MSG=>%@",msg); 

} 

第一個日誌的回覆是爲什麼的NSMutableDictionary

MSG =>(空):從=>你的朋友! :TIME => 2012年4月30日上午12時52分02秒

其次日誌的回覆是

MSG =>你好......你好

我沒不明白爲什麼「msg」進入NSMutableDictionary後變爲null?畢竟參數「from」也顯示正常。有趣的是記錄msg參數直接顯示完美。

我正在使用ARC啓用的項目並獲取此null問題。我不想在這個方法的外面聲明NSMutableDictionary,因爲它會被調用很多次,每次新的NSMutableDictionary創建並存儲在NSArray中以備後用。

回答

3
[m objectForKey:msg] 

是錯誤的,你試圖找回對象使用自己作爲關鍵。正確:

[m objectForKey:@"msg"] 
+1

BRILLIANT回答這個愚蠢的錯誤花了我整整一天。非常非常感謝你。 – Pamy

相關問題