原创 iOS之《Effective Objective-C 2.0》讀書筆記(42)

第42條:多用GCD,少用performSelector系列方法 1.直接調用某方法 兩種方式: //方法一: -(id)performSelectoer:(SEL)selector //方法二: [object sele

原创 iOS之《Effective Objective-C 2.0》讀書筆記(41)

第41條:多用派發隊列,少用同步鎖 問題由來:如果有多個線程要執行同一份代碼,那麼有時候可能會出問題,這種情況下,通常要使用鎖/GCD來實現某種同步機制 方法一:同步塊 - (void)synchronizedMethod {

原创 iOS之《Effective Objective-C 2.0》讀書筆記(16)

第16條:提供“全能初始化方法” 1.什麼是“全能初始化方法”? 概念:提供必要信息的初始化方法,其它初始化方法的調用在本質上都是在調用它 以NSDate爲例介紹:initWithTimeIntervalSinceReferen

原创 iOS之《Effective Objective-C 2.0》讀書筆記(24)

第24條:將類中的實現代碼分散到便於管理的數個分類中 (1)核心原理:如果一個文件中的代碼過多,則可考慮使用“分類”的方法拆解代碼,便於管理 (2)舉例說明:Appdelegate分解 之前所有的代碼均寫在AppDelegate

原创 iOS UIButton中的setImage和setBackgroundImage的兩個區別

1.區別一:圖片是否會被拉伸 setBackgroundImage : 圖片會被拉伸充滿整個btn.frame) [button setBackgroundImage:normallImage forState:UICont

原创 iOS之《Effective Objective-C 2.0》讀書筆記(21)

第21條:理解Objective-C錯誤模型 1.較爲嚴重的情況:@throw 自定義異常 抽象基類,只能先繼承它寫一個子類,然後通過子類調用方法,但是編譯器不會識別它是不是抽象基類,所以需要在子類必須覆寫的超類方法中拋異常,防

原创 iOS-脫離接口開發頁面

前言: 在前端開發過程中,一直都是依賴於接口的,也就是隻有連接接口才能夠開發出完整的頁面,即整個開發過程其實是串行的 近期,應要求嘗試並行開發,特將開發過程寫下來分享給大家: 1.根據UI設計稿寫出靜態頁面(不贅述) 2.分析

原创 iOS之《Effective Objective-C 2.0》讀書筆記(9)

第九條:以“類族模式”隱藏實現細節 1.類族模式 (1)類族模式只是一個較爲新穎的概念,在實際開發中,這種模式應該已經被絕大多數開發者使用 (2)類族模式的優點:隱藏抽象基類背後的複雜細節,使用者只需調用基類簡單的方法就可以返回

原创 iOS之《Effective Objective-C 2.0》讀書筆記(10)

第十條:在既有類中使用關聯對象存放自定義數據 1.“關聯對象” (1)定義:某個對象通過一個唯一的key連接到一個類的實例 (2)原理:runtime提供的方法 /** 參數含義: id object:被關聯的對

原创 iOS - 兩步獲取用戶是否設置代理

第一步:CFNetwork.framework 第二步:方法如下 // 判斷是否使用代理了 + (BOOL)isConnectedToProxy { NSDictionary *proxySettings = (__br

原创 iOS之《Effective Objective-C 2.0》讀書筆記(11)

第十一條:理解objc_msgSend的作用 1.一個參數+多個參數的形式: [receiver message] // 單個參數 objc_msgSend(receiver, selector) // 多個參數 obj

原创 iOS之《Effective Objective-C 2.0》讀書筆記(17)

第17條:實現description方法 1.什麼是description和debugDescription? NSObject協議中的聲明的兩個方法,同時NSObject類也實現了這個方法,如果子類沒有重寫,則會調用父類的方法

原创 iOS之《Effective Objective-C 2.0》讀書筆記(22)

第22條:理解NSCopying協議 1.哪些具體的代碼用到了NSCopying協議呢? 以NSArray爲例: // 對NSArray進行操作 NSArray *typeArray = @[@"A", @"B", @"C"]

原创 iOS之《Effective Objective-C 2.0》讀書筆記(12)

第12條:理解消息轉發機制 1.消息轉發機制的作用 對象在接受到無法解讀的消息時,會在編譯時報警告,運行時直接崩潰,此方法可以給對象和消息更多的機會來完成成功的調用 2.消息轉發流程 (1)動態方法解析: +(BOOL)res

原创 iOS-四種查看線上崩潰日誌的辦法

方法一:使用iTunes工具查看崩潰文件 (1)原理:APP崩潰後的日誌是保存在手機上的,需要與電腦上的iTunes同步,即將崩潰日誌保存在電腦上的文件夾中 (2)具體文件位置: Mac OS X:~/Library/Logs/