可重复使用的NSMutableDictionary
有人在论坛上提出的我,真是棒极了代码的解决方案,但我的理解,我想知道是什么样的代码的2块之间的区别:可重复使用的NSMutableDictionary
1座
NSMutableDictionary* step_info = [NSMutableDictionary dictionary];
块2
NSMutableDictionary* step_info = nil;
step_info = [NSMutableDictionary dictionary];
它可以是同样重要的是提到step_info必须被填充和重用反复加载到另一个的NSMutableDictionary。
感谢您的帮助
无。编译器会优化step_info = nil
,并且您剩下的代码完全相同。
下面是另一种方法,你可以采取:
NSMutableDictionary *step_info;
step_info = [NSMutableDictionary dictionary];
好的,这里我的问题再次: 如果我使用该行代码step_info = [NSMutableDictionary dictionary]; 多次在我的程序中的不同位置,它对我的step_info NSMutabledicstionnary有什么作用? – user261874 2010-02-03 17:49:59
@gpsdev:以前的'step_info'字典一旦被覆盖就不再可用,填满了autorelease池。 – kennytm 2010-02-03 18:13:41
有NSMutableDictionary* step_info;
首先让你在相同的代码块以后使用step_info = [NSMutableDictionary dictionary]
。
如果您希望以多种方式为step_info指定一个值,那么在头文件的@interface
部分中添加NSMutableDictionary* step_info
会更好。
这样,你可以用任何方法在实现文件中使用step_info = [[NSMutableDictionary alloc] init]
,然后分配值和键是这样的:[step_info setValue: value forKey: key];
我responsed到其他问题。这只是我初始化变量到某个已知状态的个人风格。在这种情况下不需要。更复杂的变量或结构可能更有意义。 这与iPhone编程和C编程和风格更不相关。 – 2010-02-03 18:16:51