原创 iOS小明開發筆記(七) (iOS設計模式—單例模式)

 iOS設計模式——單例模式 單例模式用於當一個類只能有一個實例的時候, 通常情況下這個“單例”代表的是某一個物理設備比如打印機,或是某種不可以有多個實例同時存在的虛擬資源或是系統屬性比如一個程序的某個引擎或是數據。用單例模式加以控

原创 iOS小明開發筆記(九) (tableViewCell側滑顯示多個按鈕)

  平常中所用的tableViewCell,左滑後,編輯狀態只有一個刪除按鈕,現在很多APP上面都自定義實現了cell側滑自定義編輯按鈕,比如qq,微信側滑後有“消息置頂”、“標記爲未讀”等。  話不多說, 代碼如下: - (NSArr

原创 iOS小明開發筆記(六) (SDWebImage簡單使用)

模擬器聯網配置(Xcode7之後需要配置)"iOS9改用更安全的https的緣故"     <key>NSAppTransportSecurity</key>     <dict>     <key>NSAllowsArbitraryLo

原创 iOS小明開發筆記(三) (cocoaPod的簡單使用)

一、概要 iOS開發時,項目中會引用許多第三方庫,CocoaPods(https://github.com/CocoaPods/CocoaPods) 可以用來方便的統一管理這些第三方庫。 二、安裝 由於網上的教程基本都大同小異,但

原创 iOS小明開發筆記(五) (GCD死鎖及解決方案)

GCD導致死鎖的原因和解決方案  所謂死鎖,通常指有兩個線程A和B都卡住了,並等待對方完成某些操作。A不能完成是因爲它在等待B完成。但B也不能完成,因爲它在等待A完成。於是大家都完不成,就導致了死鎖(DeadLock)。

原创 iOS小明開發筆記(四) (AVFoundation簡介)

AVAudioRecorder 在AVFoundation框架中AVAudioRecorder類專門處理錄音操作,支持多種音頻格式。下面是常用的屬性和方法: 屬性 說明 @property(readonly, getter=i

原创 iOS小明開發筆記(二) (地圖定位之官方API)

定位 要實現地圖、導航功能,往往需要先熟悉定位功能,在iOS中通過Core Location框架進行定位操作。Core Location自身可以單獨使用,和地圖開發框架MapKit完全是獨立的,但是往往地圖開發要配合定位框架使用。在C

原创 iOS小明開發筆記(一) (數據存儲篇之sqlite3的基本使用)

一.數據存儲的方式: 1.plist: (NSArray,NSString,NSDictionary等OC對象的存儲)存儲少量數據。 2.Preference: (偏好設置/NSUserDefaults)存儲一些軟件設置,記住密碼

原创 iOS小明開發筆記(八) (容易造成循環引用的三種場景)

ARC已經出來很久了,自動釋放內存的確很方便,但是並非絕對安全絕對不會產生內存泄露。導致iOS對象無法按預期釋放的一個無形殺手是——循環引用。循環引用可以簡單理解爲A引用了B,而B又引用了A,雙方都同時保持對方的一個引用,導致任何時候引用

原创 iOS小明開發筆記(十) (Xcode統計代碼行數)

在網上搜到幾種統計源代碼行數的方法: 1、打開終端。 2、cd到你項目的路徑。 3、輸入如下命令: a) 統計整個工程的所有文件的代碼量以及總量 find . "(" -name "*.m" -or -name "*

原创 iOS小明開發筆記(十一) (Quartz2D簡單介紹)

OS開發UI篇—Quartz2D簡單介紹 一、什麼是Quartz2D Quartz 2D是⼀個二維繪圖引擎,同時支持iOS和Mac系統 Quartz 2D能完成的工作: 繪製圖形 : 線條\三角形\矩形\圓\弧等 繪製文字

原创 iOS-抽取私有Pod庫

iOS-抽取私有Pod庫引言一. 公有Pod庫的本質二. 創建私有Pod庫1.創建私有的遠程索引庫2.創建私有Pod組件庫3. 將QDFoundation.podspec文件加入私有的遠程索引庫QDFoundationSpec4. 使

原创 iOS 通用鏈接(Universal Link)喚起app的實現方法

iOS 通用鏈接(Universal Link)喚起app的實現方法準備工作開發者賬號設置支持進入開發者中心 選擇 Certificates, IDs & Profiles選擇對應的AppId, 編輯其屬性,讓它能支持Associat

原创 iOS GPU和CPU資源消耗的原因和解決方案

** iOS構建流暢的交互界面--CPU,GPU資源消耗的原因和解決方案 ** CPU資源消耗的原因和解決方案 對象創建 輕量對象代替重量對象 * 不需要響應觸摸事件的控件:CALayer顯示 * 對象不涉及UI操作,則儘量放到

原创 iOS小明開發筆記(三十) (應用性能調優的建議和技巧)

注意:每在優化代碼之前,你都要注意一個問題,不要養成”預優化”代碼的錯誤習慣。時常使用Instruments去profile你的代碼來發現需要提升的方面。Matt Galloway寫過一篇很棒的如何利用Instruments來優化代碼的