Re: [問題] 請問StoryBoard的使用方式
※ 引述《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
討論串 (同標題文章)