原创 iOS —— WebSocket

WebSocket同HTTP一樣也是應用層的協議,但是它是一種雙向通信協議,是建立在TCP之上的。Socket 是TCP/UDP協議的API,發生在傳輸層。 WebSocket與HTTP的區別 相同點 都是一樣基於TCP的,都是可靠性傳輸

原创 iOS —— Socket

Socket其實就是在傳輸層對TCP/UDP封裝的一層API,俗稱套接字。 就是爲網絡服務提供的一種機制,通信的兩端都是Socket(用戶端和服務端)兩個Socket IO傳輸,Socket是純C語言的,是跨平臺的。下圖: UDP :(

原创 TCP三次握手和四次揮手過程

TCP三次握手和四次揮手過程 1、三次握手 (1)三次握手的詳述 首先Client端發送連接請求報文,Server段接受連接後回覆ACK報文,併爲這次連接分配資源。Client端接收到ACK報文後也向Server段發生ACK報文,並分配資

原创 多線程--- NSOperation

NSOperation 是iOS多線程其中一種常用形式, 它的執行步驟: 程序員:1、先將需要執行的一個操作封裝到一個NSOperation對象中。                2 、然後將NSOperation 對象添加到NSOper

原创 設計模式之—— 橋接模式

概念:將抽象部分與它實現部分分離,使它們都可以獨立地變化。 特點:1. 將依賴具體的實現改爲依賴抽象,得到送耦合的狀態。             2. 分離接口和實現部分。             3 提高了擴展性。 如圖: 橋接模式

原创 設計模式之—— 享元模式

享元模式: 相同的數據就拿來共享。  (線程池、tableViewCell 等)。 特點: 可共享享元對象, 享元池。      優點:大大減少對象的創建,降低系統的內存,使效率提高。 缺點:提高了系統的複雜度,需要分離出外部狀態和內部

原创 設計模式之—— 工廠模式

  簡單工廠 螺產品生產的實例(實現)必須依靠工廠裏邊的方法去實現。   工廠模式 定義:定義一個創建對象的接口,讓其子類自己決定實例化哪一個工廠類,工廠模式使其創建過程延遲到子類進行。 主要解決:主要解決接口選擇的問題。 何時使用:

原创 設計模式之—— 策略模式

策略模式: 定義一系列的算法,並且將每一個算法封裝起來 算法之間還可以互相替換。(前提:輸入是確定的, 比如 if else  或者switch) 1. Context(場景類)、 Strategy (抽象類)、  A/B/C (Str

原创 設計模式之—— MVVM

MVVM是通過MVC演變過來的, 數據流向如下圖:    單從數據流向來看,跟MVP有點類似,MVP面向接口,但是MVVM是 響應式編程。    ViewModel並不是完全是一個處理業務邏輯模塊,它是對View和Model做了一個雙向綁

原创 設計模式之—— MVP

MVP是在MVC架構基礎上演變過來的。其中P(Presenter)處理了Controller裏邊的邏輯,其實就是Presenter分擔了Controller的壓力。 MVP的數據流向如下圖所示,分別通過接口實現。 實際開發中Contro

原创 iOS9適配http,微信、qq、支付寶添加白名單

: 一、網絡適配由http改成https     蘋果官方對App Transport Security Technote的解釋如下:     翻譯成中文的意思就是說:iOS9.0SDK在編譯的時候,默認所有從NSURLCon

原创 UIImageview 模糊、高斯模糊

         CIContext *context = [CIContext contextWithOptions:nil]; // 加載本地圖片                   UIImage *image = [UIIm

原创 iOS開發之UITextView,設置textView的行間距及placeholder

一、設置textView的行間距 1.如果只是靜態顯示textView的內容爲設置的行間距,執行如下代碼: //    textview 改變字體的行間距      NSMutableParagraphStyle *paragrap

原创 iOS與JS交互,OC調用JS方法,JS調用OC方法,URL解碼

 首先 iOS7開始 蘋果公佈了JavaScriptCore.framework 它使得JS與OC的交互更加方便了。  第一步:導入framework   OC 調用JS方法 :(一句話即可) -(void)webViewD

原创 iOS 數組去重

.利用NSDictionary的AllKeys(AllValues)方法 可以將NSArray中的元素存入一個字典,然後利用AllKeys或者AllValues取得字典的所有鍵或值,這些鍵或值都是去重的。 示例代碼: