2016-04-14 13:58:09 2353瀏覽
之前一直和大家探討都是培訓課程中比較基礎的知識點,一直沒有接觸過ios開發(fā)實例項目內(nèi)容。本文扣丁學堂為讀者介紹ios開發(fā)實例項目中動態(tài)綁定和單件實例的調(diào)用方法。
淺談ios開發(fā)實例項目之動態(tài)綁定和單件實例:
1、動態(tài)綁定
在運行時確定要調(diào)用的方法
動態(tài)綁定將調(diào)用方法的確定也推遲到運行時。在編譯時,方法的調(diào)用并不和代碼綁定在一起,只有在消實發(fā)送出來之后,才確定被調(diào)用的代碼。通過動態(tài)類型和動態(tài)綁定技術,您的代碼每次執(zhí)行都可以得到不同的結果。運行時因子負責確定消息的接收者和被調(diào)用的方法。運行時的消息分發(fā)機制為動態(tài)綁定提供支持。當您向一個動態(tài)類型確定了的對象發(fā)送消息時,運行環(huán)境系統(tǒng)會通過接收者的isa指針定位對象的類,并以此為起點確定被調(diào)用的方法,方法和消息是動態(tài)綁定的。而且,您不必在Objective-C 代碼中做任何工作,就可以自動獲取動態(tài)綁定的好處。您在每次發(fā)送消息時,特別是當消息的接收者是動態(tài)類型已經(jīng)確定的對象時,動態(tài)綁定就會例行而透明地發(fā)生。
2、單件實例是什么
Foundation 和 Application Kit 框架中的一些類只允許創(chuàng)建單件對象,即這些類在當前進程中的唯一實例。舉例來說,NSFileManager 和NSWorkspace 類在使用時都是基于進程進行單件對象的實例化。當向這些類請求實例的時候,它們會向您傳遞單一實例的一個引用,如果該實例還不存在,則首先進行實例的分配和初始化。單件對象充當控制中心的角色,負責指引或協(xié)調(diào)類的各種服務。如果類在概念上只有一個實例(比如 NSWorkspace),就應該產(chǎn)生一個單件實例,而不是多個實例;如果將來某一天可能有多個實例,您可以使用單件實例機制,而不是工廠方法或函數(shù)。
扣丁學堂ios培訓講師:任何停留在理論基礎上面的操作都是土雞瓦狗,只有實戰(zhàn)與之結合,才能最大限度的理解知識點??鄱W堂對于ios開發(fā)教學方式均與理論與實戰(zhàn)相結合,讓學員可以盡快的獨立上機操作。