Я использую iPhone SDK 3.0, но я думаю, что это общее недопонимание того, как все работает с управлением и памятью.
Я переопределил метод viewWillAppear, как этот
@implementation MyViewController
- (void)viewWillAppear:(BOOL)animated {
NSArray *items = [NSArray arrayWithOjbects:self.searchButton, self.trashCan, nil];
[self.bottomBar setItems:items animated:YES];
}
// other stuff...
@end
когда я пытаюсь отойти от вышеприведенного контроллера представления и переключиться обратно, все работает правильно.
НО, я склонен «отпустить» исходный указатель на «элементы», потому что я думаю, ссылка на NSArray теперь поддерживается bottomBar. Но когда я делаю это (см. Код ниже) и пытаюсь переключиться с UIViewController, я получаю ошибку управления памятью (- [CFArray count]: сообщение отправлено на освобожденный экземпляр 0xd5f530).
- (void)viewWillAppear:(BOOL)animated {
NSArray *items = [NSArray arrayWithOjbects:self.searchButton, self.trashCan, nil];
[self.bottomBar setItems:items animated:YES];
[items release];
}
DoМне нужно , а не выпустить вещи в этом случае? Или я что-то не так делаю? Очевидно, эмпирические данные указывают на то, что я не должен выпускать «предметы», но мне непонятно, почему это так.
Спасибо за любую информацию / «указатели»!