- (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);
}
第一个日志的回复是
MSG =>(null):FROM =>你的朋友! :TIME => 2012年4月30日上午12:52:02
第二个日志的回复是
MSG =>你好......你好吗
我不明白为什么“msg”进入NSMutableDictionary后变为null?毕竟参数“from”也显示正常。有趣的是记录msg参数直接显示完美。
我正在使用启用ARC的项目并获得此null问题。我不想在这个方法的外面声明NSMutableDictionary,因为它被多次调用,并且每次在NSArray中创建和存储新的NSMutableDictionary以供进一步使用。
答案 0 :(得分:3)
[m objectForKey:msg]
是错误的,你试图用自己作为关键来取回对象。正确地:
[m objectForKey:@"msg"]