原创 GCD高級功能(一次性執行,調度組,延遲操作)

GCD的三大高級功能:一次性執行,調度組,延遲操作 一次性執行 一次性執行 : 可以保證某一段代碼在程序運行的過程中只被執行一次 一次性執行是線程安全的,在多線程環境下也是隻執行一次 應用場景 : 設計單例模式.(效率比互

原创 AFN應用及原理

AFN框架 注意事項 AFN的請求默認的發送的是二進制, AFN的響應默認的接收的是JSON 1 AFN內部結構 AFN結構體 - NSURLConnection(iOS9.0廢棄了) + A

原创 NSCache的簡單介紹應用

NSCache 介紹 NSCache 是蘋果提供的一個專門用來做緩存的類 使用和 NSMutableDictionary 非常相似 是線程安全的 當內存不足的時候,會自動清理緩存 程序開始時,可以指定緩存的數量 & 成本

原创 IOS 本地和遠程推送通知詳解

這裏主要詳細介紹蘋果的遠程推送服務,在本文後會有本地通知的簡單示例。 一,IOS遠程通知服務APNs 蘋果的APNs(蘋果推送通知服務Apple Push Notification server)允許設備和蘋果的推送通知服務器

原创 iOS 遠程推送通知

iOS 推送通知: 注意:通知是一個應用程序級別的操作UIApplication 推送通知 與 NSNotification 區別 NSNotification是抽象的,不可見的 推送通知是可見的 iOS中提供了2種推送通知

原创 iOS--多線程具體總結(OC&Swift)

整理一下 iOS 開發中幾種多線程方案,以及其使用方法和注意事項。當然也會給出幾種多線程的案例,在實際使用中感受它們的區別。使用 Swift 和 Objective-C 兩種語言講解 在 iOS 中其實目前有 4 套多線程方案,他

原创 iOS 推送通知

iOS 推送通知: 注意:通知是一個應用程序級別的操作UIApplication 推送通知 與 NSNotification 區別 NSNotification是抽象的,不可見的 推送通知是可見的 iOS中提供了

原创 iOS開發多線程篇—線程間的通信

一、簡單說明 線程間通信:在1個進程中,線程往往不是孤立存在的,多個線程之間需要經常進行通信 線程間通信的體現 1個線程傳遞數據給另1個線程 在1個線程中執行完特定任務後,轉到另1個線程繼續執行任務 線程間通信常用方法 -

原创 iOS--AFN實現原理

AFN的六大模塊 1,NSURLConnection 主要對NSURLConnection進行了進一步的封裝,包含以下核心的類: AFURLConnectionOperation AFHTTPRequestOperationM

原创 仿微信聯繫人分組(右側索引)

1,創建模型:用來保存數據 創建模型:用來保存數據 模型.h文件 @interface CKUser : NSObject //重寫構造方法 -(instancetype)initWith:(NSString*)usernam

原创 3Dtouch實現

3DTouch分爲三個內容: 1. 在點擊app icon 的手長按並且用力一點,就會出現 幾個Item。 2.(1)在app 裏面長按也要用力往下壓,就會可以彈出一個自定義的 ViewController。這個時候如果你放手了那麼

原创 HTTP、Socket與TCP

HTTP、Socket、TCP這三個概念在網絡開發中經常被提及,也是比較容易被混淆的概念,這三者在TCP/IP協議族中的位置關係: 三者的位置關係.png 其中,HTTP是應用層的協議,也是開發中最常用的一個網絡協議;TCP

原创 objc runtime 動態增加屬性

objective-c中,有類別可以在不修改源碼的基礎上增加方法;近排在看別人的開源代碼時,發現還可以動態增加屬性。而且是在運行時 使用運行時庫,必須要先引入 objc/runtime.h 可以使用的函數如下: OBJC_EXPO

原创 CGD全局併發隊列和主隊列的應用

* 1. 主隊列特點 :主隊列中的任務,只有主線程空閒的時候纔會被調度 2. 主隊列又叫全局串行隊列,程序啓動的時候就創建了主隊列,在使用的時候不需要創建,直接GET. 2. 主隊列中的任務一定是要在主線程執行的.

原创 iOS 運行時

一、什麼是運行時(Runtime)? 運行時是蘋果提供的純C語言的開發庫(運行時是開發中經常用到的底層技術)二、運行時的作用? 能獲得某個類的所有成員變量能獲得某個類的所有屬性能獲得某個類的所有方法交換方法實現能動態添加一個成員變量