gpt4 book ai didi

iphone - 你怎么知道 pushViewController 保留了推送的对象?

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:10:23 26 4
gpt4 key购买 nike

答案 here都说 pushViewController 保留给定的 viewController 但他们没有引用说明这一点的文档。

问题是他们怎么知道 pushViewController 会保留给定的 View Controller ?我们可以假设所有其他采用您的 NSObject* 派生对象指针的类都遵守此约定吗?

编辑:

我需要比当前提供的答案所建议的更有力的论据/证明。例如关于 UIView::addSubview 的文档明确指出“此观点由接收者保留”。或者,如果您打算表明接收到的 Controller 被暗示保留,因为 UINavigationController 具有与集合类相同的语义,那么表明它确实如此,通过表明它在内部使用集合类之一或引用一些说明的文档这。 pushViewController 的文档说给定的 View Controller 位于“导航堆栈”上,但没有说明该堆栈是什么类。其实看UINavigationController的头文件中的定义,好像不是用栈,而是用NSMutableArray。如果你已经完成了数学学位和书面证明,那么你就会理解我正在寻找的那种严谨的智力。

最佳答案

因为收藏始终拥有自己的元素,而 parent 始终拥有自己的 child 。

从某种意义上说,导航 Controller 就像一种集合 - 堆栈一样运行。

如果 Controller 在导航 Controller 上消失了——那将是一个大问题。

http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/MemoryMgmt/Articles/mmPractical.html#//apple_ref/doc/uid/TP40004447-SW1

When you add an object to a collection (such as an array, dictionary, or set), the collection takes ownership of it. The collection will relinquish ownership when the object is removed from the collection or when the collection is itself released.

关于iphone - 你怎么知道 pushViewController 保留了推送的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6529055/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com