Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone UINavigationBar是否保留推送到堆栈上的UINavigationItems?_Iphone_Memory Management_Uikit_Uinavigationbar - Fatal编程技术网

Iphone UINavigationBar是否保留推送到堆栈上的UINavigationItems?

Iphone UINavigationBar是否保留推送到堆栈上的UINavigationItems?,iphone,memory-management,uikit,uinavigationbar,Iphone,Memory Management,Uikit,Uinavigationbar,UINavigationBar是否保留推送到堆栈上的导航项目?换句话说,在这样做之后: _myNavItem = [[UINavigationItem alloc]initWithTitle:@"Home"]; [self.navBar pushNavigationItem:_myNavItem animated:NO]; 我是否需要使用以下工具发布_myNavItem: [_myNavItem release]; 为了避免内存泄漏 另外,我通常如何确定是否保留某个对象?任何Obje

UINavigationBar是否保留推送到堆栈上的导航项目?换句话说,在这样做之后:

_myNavItem = [[UINavigationItem alloc]initWithTitle:@"Home"];
[self.navBar pushNavigationItem:_myNavItem animated:NO];
我是否需要使用以下工具发布_myNavItem:

    [_myNavItem release];
为了避免内存泄漏

另外,我通常如何确定是否保留某个对象?任何Objective C集合都保留添加到其中的所有元素的所有权,这只是一种惯例吗?

是的,UINavigationBar保留其UINavigationItems。就像NSArray或NSDictionary保留其对象一样,UINavigationBar也保留其对象。

是的,UINavigationBar保留其UINavigationItems。就像NSArray或NSDictionary保留其对象一样,UINavigationBar也保留其对象。

在items属性的定义中提到,它正在存储所有推送到导航堆栈上的UIViewController(使用NSArray)

继续讨论,NSArray类的默认实现将保留插入其中的每个对象,并在删除时将其释放

将这两件事放在一起,可以安全地暗示UINavigationController在推送到堆栈上时保留其所有UIViewController。

在items属性的定义中提到,它使用NSArray存储推送到导航堆栈上的所有UIViewController

继续讨论,NSArray类的默认实现将保留插入其中的每个对象,并在删除时将其释放


将这两件事放在一起,可以安全地暗示,当UINavigationController被推到堆栈上时,它们会保留其所有UIViewController。

苹果文档中是否有任何地方说明了这一点,或者这只是一个一般惯例?我不是怀疑你的答案,只是想知道下次我自己怎样才能发现这一点,而不是问:苹果的文档中是否有任何地方说明了这一点,或者这只是一个普遍的惯例?我不是怀疑你的答案,只是想知道下次我自己如何才能找到答案,而不是问: