原创 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/