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