作者HellCloud (Invisible)
看板MacDev
标题Re: [问题] 请问StoryBoard的使用方式
时间Sat Oct 20 19:22:17 2012
※ 引述《NelsonT (新竹好无聊)》之铭言:
: ※ 引述《steny138 (阿辰)》之铭言:
: : 我看到storyBoard再使用的方式 好像是叠加上去的
: : 那如果我今天的页面一直连下去从A->B->C->D->E->F
: : 会不会说造成记忆体不足还是什麽问题
: 理论上会,
: 实际上你把程式码写好,不要写出 memory leak 的程式,还比较重要。
: 反倒不用太在意一直连下去会吃掉记忆体。
: 而且在真实的使用情境,使用者也不会一直进入下一层,总会回上层的,
: 你只要确保目前这层 view controller 被关闭之前有把记忆体放掉就好。
补充一下
我最近在开发的东西就是可以依使用者的点选一直进入下一层没有终点的app。
在这状况如果真的发生记忆体不够的问题在iOS5或6都会在log画面中看到
(通常在使用UIWebView时最常发生)
Received Memory Warning
iOS5和6的不同在於
iOS5会帮你偷偷对前一个ViewController执行
(如果有包NavigationController的话就是你push来那一页)
(以A->B->C->D->E->F来看,如果B页面Received Memory Warning,A页面就会做
以下的动作)
1. viewdidunload
2. dealloc
(在pop以後)
3. viewdidload
iOS6 则没有dealloc掉. 但也可以手动加上
我最近也遇到这样的问题,有些产收ui的code如果写在initwithNibName里面的话
遇到这个问题就会产生回到上一页时某些UI不见了....
所以要小心一点就是
另外在iOS 模拟器中可以模拟 Received Memory Warning 的发生,也可以利用此
功能来检查是不是有地方没处理好。
: : 我後来就想想
: : 那如果用多个storyBoard试试看
: : 可是好像不同的storyBoard的UIVIEWController没有办法连结segues
: 没错,不同 storyboard 之间无法连结 segue。
: 所以若是你要从 storyboard-A 连到 storyboard-B,就得手动写程式完成:
: 1. 找到 storyboard-B
: 2. 实体化你要的那个 view controller
: 3. 看是要用 push 还是 modal 还是什麽方法,呈现这个 view controller
: 跟建立一个超大的 storyboard,把所有画面都放进去相比,
: 拆成多个 storyboard 有个好处:
: 每个 storyboard 里头,都是一组独立的 story,
: 可方便重复利用,也比较容易维护程式码。
: 若你的程式比较大,或画面比较多,这会是比较好的做法。
--
http://cloud.pixnet.net/blog/post/25358003
我的单恋与感动
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.184.41.46