我想仔细检查一下我是否正在进行正确的内存管理。它是否正确?我是否有正确数量的版本。
在我的.h文件中:
UITableView *_sortOrderTableView;
@property (nonatomic, retain) UITableView *SortOrderTableView;
在我的.m文件中:
在dealloc
[_sortOrderTableView release];
我提供popover的代码是:
- (IBAction)sortButtonOrderPressed:(id)sender {
UIViewController *sortOrderController = [[UIViewController alloc] init];
self.SortOrderTableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 200, 100)];
self.SortOrderTableView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"App_Background.png"]];
self.SortOrderTableView.bounces = NO;
self.SortOrderTableView.scrollEnabled = NO;
sortOrderController.view = self.SortOrderTableView;
sortOrderController.contentSizeForViewInPopover = CGSizeMake(200, 100);
self.SortOrderTableView.delegate = self;
self.SortOrderTableView.dataSource = self;
self.SortPopover = [[UIPopoverController alloc] initWithContentViewController:sortOrderController];
[self.SortPopover presentPopoverFromRect:_sortButtonOrder.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
[self.SortOrderTableView release];
[sortOrderController release];
}
答案 0 :(得分:0)
删除[self.SortOrderTableView release];
,无论如何都应该是[_sortOrderTableView release];
或self.SortOrderTableView = nil
,但您已经在dealloc方法中调用了它,因此无需在此处发布它。如果您想要发布它,请使用self.SortOrderTableView = nil
。
除此之外,您还必须在release
方法中dealloc
使用SortPopover的实例变量。