Управление памятью с помощью UIPopoverController - PullRequest
0 голосов
/ 01 июля 2011

Я хотел дважды проверить, правильно ли я управляю памятью.Это правильно?У меня есть правильное количество выпусков.

В моем .h файле:

UITableView *_sortOrderTableView;
@property (nonatomic, retain) UITableView *SortOrderTableView;

В моем .m файле:

В dealloc

 [_sortOrderTableView release];

Мой код, который представляет поповер, такой:

- (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];
}

1 Ответ

0 голосов
/ 01 июля 2011

Удалите [self.SortOrderTableView release];, это должно быть [_sortOrderTableView release]; или self.SortOrderTableView = nil в любом случае, но вы уже вызываете это в своем методе dealloc, поэтому нет необходимости освобождать его здесь. Если вы хотите выпустить его, используйте self.SortOrderTableView = nil.

Кроме того, вам также потребуется release переменная экземпляра вашего SortPopover в вашем dealloc методе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...