【发布时间】:2011-06-04 16:09:22
【问题描述】:
在模态视图中,我有一个在 viewDidLoad 中分配和初始化的 UIPickerView。
它在dealloc 中与此视图中使用的其他对象一起被释放。
这是释放我的选择器的错误方式吗?为什么在模式视图被关闭后需要访问它,因为错误消息似乎在暗示?
僵尸日志错误是:
-[UIPickerView release]: message sent to deallocated instance 0x5a441
相关代码:
- (void)viewDidLoad
{
[super viewDidLoad];
//navigation bar stuff here
mcPickerView = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 244, 320, 216)];
mcPickerView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleTopMargin;
// setup the data source and delegate for this picker
mcPickerDataSource = [[MCPickerDataSource alloc] init];
mcPickerView.dataSource = mcPickerDataSource;
mcPickerView.delegate = mcPickerDataSource;
mcPickerView.showsSelectionIndicator = YES;
[self.view addSubview:mcPickerView];
}
- (void)dealloc
{
[mc dealloc];
[mcPickerView dealloc];
[mcPickerDataSource dealloc];
[mcVal release];
[super dealloc];
}
【问题讨论】:
-
请出示您的 viewDidLoad 和 dealloc 代码
标签: iphone objective-c ios4 memory-management