原创 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取得字典的所有鍵或值,這些鍵或值都是去重的。 示例代碼: