小弟oc新手,昨天看中的第7章的dependentPickerView例子总是爆出内存越界错误,在网上搜索了一下意识到错误是这样造成的:
在dependentViewPicker类中的viewDidLoad方法中有如下代码
- NSBundle *bundle = [NSBundle mainBundle];
- NSString *plistPath = [bundle pathForResource:@"statedictionary" ofType:@"plist"];
- NSDictionary *dictionary = [[NSDictionary alloc] initWithContentsOfFile:plistPath];
- /*注意下面两行就是问题的根源*/
- self.stateZips = dictionary;
- [dictionary release];
上面的代码是书中的源代码,运行是没问题的,但是小弟在写程序时候将self.stateZips写成了stateZips ,然后一直就爆出数组越界错误,原因就是self.stateZips与stateZips的区别:
self.stateZips = dictionary会调用retain方法,
stateZips只是简单的将指针指向了dictionary,
阅读(2363) | 评论(0) | 转发(0) |