假设我有一个UIViewController
,它有一个不是属性的实例变量UIBarButtomItem *button
。在viewDidLoad
我做:
button = [[UIBarButtonItem alloc] init...]
然后
self.navigationController.leftBarButtonItem = button
如果我想稍后在同一个课程中使用它,我应该释放按钮对象吗?我有关于数组的相同问题(将一个对象添加到数组并稍后使用它)。我很困惑,因为两个集合和UIViews
都保留了添加到它们的对象
答案 0 :(得分:1)
这取决于您以后如何访问它们。如果您通过实例变量访问它们而不是通过目标集合访问它们,那么您一定要释放它们。
答案 1 :(得分:0)
_button = [UIBarButtonItem alloc] init ..] //假设_button是类实例变量
按钮保留计数为1。
将其分配给leftBarButtonItem属性时 - 其保留计数变为2。
因此,只要你在viewdidunload / dealloc中释放按钮对象,就应该很好,因为当leftBarButton消失或重新分配时,它会使_button计数为0,从而正确释放你的对象。
如果_button不是实例变量,则应释放_button,然后使用.leftBarButtonProperty再次访问它。