国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設(shè)計 > 正文

斯坦福iOS7公開課4-6筆記及演示Demo

2019-11-14 20:16:14
字體:
供稿:網(wǎng)友

    1.變量類型別濫用id,如果不仔細容易在程序執(zhí)行時引發(fā)錯誤,因為在編譯階段編譯器只是檢測變量對象所屬類型,尤其是類型為id時代表任何類型都可以通過檢查,但不會檢測變量對象調(diào)用的方法,這樣當對象所屬類不包含所寫的調(diào)用方法時,編譯通過,但在程序運行時才會報錯。

    2.簡單介紹了框架自帶的集合、字體等。

    3.通過使用NSAttributedString可以讓屏幕顯示的字體樣式更豐富,設(shè)置各種樣式等,詳細參見附件的演示Demo:http://files.VEVb.com/colinhou/Attributor.zip

    4.對于蘋果目前推薦的故事板Storyboard,介紹了其生命周期,并介紹了一些注意事項。

    (1)viewDidLoad,這一過程中,故事板會做好初始化操作,我們設(shè)置的各種輸出(IBOutlet)也已經(jīng)初始化完畢,對于整個app需要且僅需要做一次初始化的操作,應(yīng)該在這里執(zhí)行,因為viewDidLoad在整個生命周期只在程序開始時執(zhí)行一次。但是需要注意,此時view并沒有顯示在屏幕上,也就是view的大小等信息都還是不確定的,所以不適合做與設(shè)置改變view大小尺寸的操作。

    (2)viewWillAppear,這一過程中,view的幾何信息已經(jīng)確定,準備好要顯示了,如果還需要改變大小、動畫等,也可以在這執(zhí)行。同時一些初始化操作也應(yīng)當在這里執(zhí)行,例如每次切換回來要更新數(shù)據(jù)等等,比如使用微信,每次重新從其他地方切換過來的時候,頂部都會有一個圓圈在轉(zhuǎn),表示正在獲取最新數(shù)據(jù)。

    (3)viewWillDisappear,表示view馬上要從屏幕消失,這時需要停止動畫等操作,避免占用資源,同時如果也需要保存數(shù)據(jù)或狀態(tài),這樣下次再切換回來的時候(viewWillAppear),方便繼續(xù)之前的操作或狀態(tài)。

    (4)viewDidAppear、viewDidDisappear在view已經(jīng)出現(xiàn)或消失時觸發(fā),

            didReceiveMemoryWarning在系統(tǒng)內(nèi)存不足時觸發(fā),

            viewWill/DidLayoutSubviews用于屏幕旋轉(zhuǎn)做相應(yīng)設(shè)置,后續(xù)會詳細介紹。

    5.廣播機制NSNotificationCenter,如果收聽了某一事件,當滿足一定條件時,可以做出響應(yīng),觸發(fā)指定操作,有點類似于flex的消息機制,監(jiān)聽或取消監(jiān)聽某一消息。

       addObserver表示收聽對象、觀察者,即誰監(jiān)聽這一事件,selector表示響應(yīng)方法,name即廣播名字,表示被收聽的事件,object表示這是誰的廣播、誰的事件,如果為nil則表示不管是誰,只要這一廣播、事件發(fā)生了,都會收聽到,并作出相應(yīng)操作。

        

    

     同時在停止收聽廣播的時候,一定要取消收聽,這是因為NSNotificationCenter使用了不安全引用指針“unsafe retained pointer”,如果沒有取消收聽,當收聽對象不存在了,通知NSNotificationCenter發(fā)送通知時就會引起程序崩潰,這里本來應(yīng)該使用weak類型的指針,這樣指針就能夠自動變?yōu)閚il,但是為了兼容iOS5(weak類型指針iOS6開始使用),目前還是使用的“unsafe retained pointer”。

     另外,取消收聽時建議使用指明具體信息的方式,避免造成無法使用其他廣播。

   

  6.介紹了使用UINavigationController管理多個View的方式,詳細見附件的Demo:http://files.VEVb.com/colinhou/Attributor.zip

     另外,如果想跳過其它view,直接對特定View進行簡單功能測試驗證時,可以在Interface Builder中把起始箭頭移至目標View,在代碼中寫好測試方法,啟動調(diào)試后就能直接進入目標View驗證功能了。

    Demo效果截圖:

      


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 蚌埠市| 灵宝市| 昌平区| 河北区| 滨海县| 康保县| 宁强县| 阜平县| 马边| 繁峙县| 东平县| 景宁| 塘沽区| 开化县| 武平县| 五大连池市| 荃湾区| 伊金霍洛旗| 永川市| 三门峡市| 姜堰市| 聂荣县| 抚远县| 城口县| 淳化县| 根河市| 平果县| 德庆县| 普兰县| 亚东县| 东乌珠穆沁旗| 荆州市| 绍兴市| 邳州市| 交城县| 平乐县| 太谷县| 偏关县| 呼伦贝尔市| 开封市| 成都市|