我有以下问题:
我有一个AppDelegate,在其中添加了navigationController并在其中加载UIViewControllerB。
在B中,我添加一个navigationItem,一个leftBarButtonItem或一个rightBarButtonItem。
我必须在哪里释放这些项目,因为我是在B中分配和初始化它们的。所以,首先我想到了在B的Dealloc-Method中释放self.navigationItem.rightBarButtonItem。
但是,如果我正在分析我的应用程序,分析器会在B的dealloc-method中的发布位置说:
不正确的对象引用计数递减不正确
此时调用方拥有。
但是,我对自己做错的事情没什么把握,还是一切正常,这是分析仪的问题吗?
有人可以帮我找出来吗?
问候andi1984
最佳答案
一旦分配并分配给rightBarButtonItem,您就可以像
UIBarButtonItem *rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(showNewEventViewController)];
self.navigationItem.rightBarButtonItem = rightBarButtonItem;
[rightBarButtonItem release];
类似于leftBartButtonItem
self.navigationItem.rightBarButtonItem本身可能会保留,并且知道何时释放该计数。
关于ios - 发布导航项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7262764/