作者uranusjr (←这人是超级笨蛋)
看板MacDev
标题Re: [问题] 旧程式 加入 ARC 功能
时间Sat Dec 8 17:20:40 2012
※ 引述《sorkayi (寻找奶昔)》之铭言:
: 这个写法是 A_ViewController 中 写
: B_ViewController* b = [[B_ViewController all] initWithNib......];
: 然後 [self.view addSubView b.view];
: 你的意思是说这样写不好嘛@@
懒得解释, 直接拿别人写的XD
http://www.onevcat.com/2012/02/uiviewcontroller/
不过就如同文末提到的
自从 iOS 5 开始, 你可以撰写自己的 custom container view controller
也就是让一个 view controller 内部呈现其他 view controllers 的内容
就像 navigation controller 或 tab view controller 那样
当写这样一个 container 时, 就必须用到 addSubview:
但前提是必须与 addChildViewController: 一同使用
在把 view controller 的 view 加入你自己的 view 时
同时也将 view controller 收为自己的 child view controller, 负责管理它
并且使用正确的方式来进行 child view controllers 之间的 transition
这篇文章的讲解不错
http://geeklu.com/2012/05/custom-container-view-controller/
另外这个设计架构也和 ARC 有关联
由於 parent view controller 要负责管理它的 child view controllers
所以它会 retain 自己所有的 children
遇到 subview 的 view controller 被自动 release 的状况, 只代表一件事
YOU ARE DOING IT WRONG
--
「我最想要的同伴嘛,首先是要笑口常开,其次是我们能永远不会发生误会。
如果这些都能办到的话,嗯,如果他是世界上第一流的桥手,也还不错。」
-- 班尼多‧加罗素,前义大利蓝队成员
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.32.81.146
※ 编辑: uranusjr 来自: 114.32.81.146 (12/08 21:38)
1F:推 sorkayi:好吧 看来是个大工程 = = 这样还有救嘛@@? 12/08 22:04
2F:推 sorkayi:但是我 google很多人的写发都像这样 到底是正确还是错误? 12/08 22:09
3F:推 sorkayi:後来去爬到资料了 感谢大大热心的教学 12/10 15:04