概述 代理模式是一種消息傳遞方式脂信,一個(gè)完整的代理模式包括:委托對象、代理對象和協(xié)議纺涤。 名詞解釋 協(xié)議:用來指定代理雙方可以做什么桦锄,必須做什么扎附。 委托對象:根據(jù)協(xié)議指定代理對象...
![240](https://cdn2.jianshu.io/assets/default_avatar/15-a7ac401939dd4df837e3bbf82abaa2a8.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240)
概述 代理模式是一種消息傳遞方式脂信,一個(gè)完整的代理模式包括:委托對象、代理對象和協(xié)議纺涤。 名詞解釋 協(xié)議:用來指定代理雙方可以做什么桦锄,必須做什么扎附。 委托對象:根據(jù)協(xié)議指定代理對象...
在iOS開發(fā)中,Protocol是一種經(jīng)常用到的設(shè)計(jì)模式结耀,蘋果的系統(tǒng)框架中也普遍用到了這種方式留夜,比如UITableView中的 ,以及<NSCopying>图甜、<NSObjec...
Runtime的特性主要是消息(方法)傳遞碍粥,如果消息(方法)在對象中找不到,就進(jìn)行轉(zhuǎn)發(fā)黑毅,具體怎么實(shí)現(xiàn)的呢嚼摩。我們從下面幾個(gè)方面探尋Runtime的實(shí)現(xiàn)機(jī)制。 Runtime介紹...
淺拷貝就是拷貝后矿瘦,并沒有進(jìn)行真正的復(fù)制枕面,而是復(fù)制的對象和原對象都指向同一個(gè)地址 深拷貝是真正的復(fù)制了一份,復(fù)制的對象指向了新的地址 從上圖可以看出缚去,淺拷貝A指針改變了所指向的...
所謂多線程(multithreading)潮秘,是指從軟件或者硬件上實(shí)現(xiàn)多個(gè)線程并發(fā)執(zhí)行的技術(shù)。具有多線程能力的計(jì)算機(jī)因有硬件支持而能夠在同一時(shí)間執(zhí)行多于一個(gè)線程易结,進(jìn)而提升整體處...
一枕荞、performSelector調(diào)用和直接調(diào)用區(qū)別 下面兩段代碼都在主線程中運(yùn)行,我們在看別人代碼時(shí)會發(fā)現(xiàn)有時(shí)會直接調(diào)用搞动,有時(shí)會利用performSelector調(diào)用买猖,今天...
原文鏈接深入理解GCD之dispatch_semaphore 再研究完dispatch_queue之后,本來是打算進(jìn)入到dispath_group的源碼滋尉,但是dispath_...
在開發(fā)中,我們很容易遇到這樣的需求飞主,需要我們同時(shí)做多個(gè)網(wǎng)絡(luò)請求狮惜,所有網(wǎng)絡(luò)請求都完成后才能進(jìn)行下一步的操作。如下載多個(gè)圖片碌识,下載完了才能展示碾篡。 今天我們就來研究一下這個(gè)問題的解...
說明:此文是自己的總結(jié)筆記,主要參考: iOS程序的啟動(dòng)執(zhí)行順序 AppDelegate 及 UIViewController 的生命周期 UIView的生命周期 一. iO...
Keychain 介紹 Keychain Services 是 OS X 和 iOS 都提供一種安全地存儲敏感信息的工具筏餐,比如开泽,存儲用戶ID,密碼魁瞪,和證書等穆律。存儲這些信息可以...
計(jì)時(shí)器是一種很方便也很有用的對象, Foundation 框架中有一個(gè)類叫做 NSTimer ,開發(fā)者可以指定絕對的日期與時(shí)間,以便到時(shí)執(zhí)行任務(wù), 也可以指定執(zhí)行任務(wù)的相對延...
精簡 initialize 與 load 實(shí)現(xiàn)代碼 有時(shí)候,類必須先執(zhí)行某些初始化操作,然后才能正常使用,在 OC 中,絕大部分類都繼承自 NSObject 這個(gè)根類,而該類...
構(gòu)建緩存時(shí)選用 NSCache 開發(fā) Mac OS X 或 iOS 應(yīng)用程序時(shí),經(jīng)常會遇到一個(gè)問題,那就是從網(wǎng)上下載的圖片應(yīng)如何來緩存,NSCache 類就是 Foundat...
用前綴避免命名空間沖突 OC 沒有其他語言那種內(nèi)置的命名空間機(jī)制, 鑒于此, 我們在其名時(shí)要設(shè)法避免潛在的命名沖突. 避免此問題的唯一辦法就是變相實(shí)現(xiàn)命名空間, 為所有名稱都...
提供 ' 全能初始化方法 ' 所有對象均瑤初始化, 在初始化時(shí), 有些對象可能無需開發(fā)者想起提供額外信息. 不過一般還是要提供的. 我們把這種可為對象提供必要信息以便完成工作...
以 '類族模式' 隱藏實(shí)現(xiàn)細(xì)節(jié) '類族' 是一種很有用的模式 (也叫做 '類別方法'), 可以隱藏 '抽象基類 ' 背后的實(shí)現(xiàn)細(xì)節(jié), OC 的系統(tǒng)框架 UIKit 中有一個(gè)名...
用枚舉表示狀態(tài). 選項(xiàng). 狀態(tài)碼 例如: enum AAAAAA{ aaaaaa, bbbbbb, ccccccc }; 枚舉只是一種常量的命名方式, 編輯器回味枚舉分配一個(gè)...
多用字面量語法, 少用預(yù)知等價(jià)的方法 // 字面量數(shù)值, 有時(shí)候要把證書. 浮點(diǎn)數(shù) . 布爾值 封入 OC 對象中, 這種情況下可以用 NSNumber 類, 該類可以處理多...