我有以下问题:
我有一个AppDelegate,我在那里添加一个navigationController并在其中加载UIViewController B.
在B中我添加了一个navigationItem,一个leftBarButtonItem或一个rightBarButtonItem。
我必须在哪里发布这些项目,因为我在B中分配并初始化它们。所以在第一次我考虑在Dealloc-Method of B中发布self.navigationItem.rightBarButtonItem。
但是,如果我正在分析我的应用程序,那么分析器会在B的dealloc方法的发布位置说:
对象的引用计数的不正确减少 此时由来电者拥有。
但是,我没有说明我做错了什么,或者一切都好,这是分析仪问题?
有人可以帮我找出来吗?
Greets andi1984
答案 0 :(得分:1)
一旦分配并分配给rightBarButtonItem,就可以像
一样释放UIBarButtonItem *rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(showNewEventViewController)];
self.navigationItem.rightBarButtonItem = rightBarButtonItem;
[rightBarButtonItem release];
与leftBartButtonItem类似
self.navigationItem.rightBarButtonItem本身可能有一个保留,并知道何时释放该计数。