原创 屬性@property探索

@property用來定義變量的屬性,定義的變量會自動聲明變量,自動生成setter方法和getter方法,便於變量的操作,常用的修飾詞是nonatomic,strong,readwrite等。 通過clang的方法查看@property

原创 GPUImage源碼分析與使用(二) Sources GPUImage的使用

Sources、Filters、Outputs、Pipeline的分別介紹 Sources GPUImage的一個類GPUImageOutput GPUImage的一個協議GPUImageInput 濾鏡鏈:輸入(圖片、視頻文件、紋

原创 Alamofire network

Alamofire鏈接 Alamofire是一個純粹的網絡庫,關於UI的部分有另外的封裝,比如AlamofireImage 和AlamofireNetworkActivityIndicator 一、URLSession 步驟 創建sess

原创 數據結構與算法-一個好的算法如何測評 一、算法: 二、數據結構 三、時間複雜度和空間複雜度

一、算法: 1、解釋 算法是解決問題的方法,如何更好地更有效的解決問題,就需要設計一個好的算法,好的算法有以下要求。 2、算法特性 有窮性:算法必須在執行有限的次數後結束 確定性:算法的每一步必須有確定的含義 可行性:算法的每一步必須可執

原创 GPUImage源碼分析與使用(一) GPUImage簡介 GPUImage框架 GPUImage基類的具體介紹

GPUImage簡介 GPUImage是鏈式編程,可以處理圖片和視頻,支持iOS和Mac。 GPUImage1.0和2.0是基於 OpenGL ES 封裝,1.0是OC版本,2.0是swift版本,3.0是基於Metal的swift版本。

原创 GPUImage源碼分析與使用(三) 使用GPUImage拍照添加濾鏡 使用GPUImage拍視頻添加濾鏡

使用GPUImage拍照添加濾鏡 - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view fr

原创 RxSwift Observable的創建

Observable的創建 常用的爲:deferred、of、just empty //------ empty ------ //MARK: empty //空序列,只能comp

原创 RxSwift timer與Swift timer比較和原理探索

RxSwift中timer不受runloop的影響可以正常計時,以下探索timer實現原理。 Timer swift創建timer override func viewDidLoad() { super.view

原创 RxSwift 登錄頁面邏輯

RxSwift實現頁面登錄 控制用戶名和密碼的輸入長度,當用戶名和密碼都正確輸入後按鈕可以點擊 //username.rx.text序列,控制顯示 let usernameValid = username.r

原创 RxSwift Observable可觀察序列

squence序列 有限序列 let ob = Observable.just([1, 2, 3, 4]) ob.subscribe(onNext: { (num) in print(num)

原创 RxSwift 簡單使用和與swift的寫法對比

RxSwift特點 swift是一門靜態語言,不像OC那樣可以動態的傳輸數據發送消息,RxSwift可以彌補swift的這種語言特性。 RxSwift函數響應式編程思想,其代碼可讀性強、複用性高、容易理解、很穩定,抽象了異步編程統一代碼風格

原创 OpenGL ES 光照計算

光照計算在片元着色器執行,計算每一個像素點的顏色 一、光照計算 1、環境光計算 環境光 = 光源的環境光顏色 * 物體的材質顏色 環境光 = 光的顏色 * 材質顏色; 光是有顏色的,比如紅光、綠光等; 材質顏色也就是紋理顏色。 2、

原创 OpenGL ES GLSL簡介

1、着色器渲染過程 tips: 頂點着色器:只完成了頂點的計算,然後交給下一步進行圖元裝配和光柵化 光柵化:確定圖形在屏幕上顯示的像素點 片元着色器:只完成了顏色值的計算,並沒有完成顏色填充 頂點着色器和片元着色器是在GPU上併發執行

原创 創建OpenGL ES 項目

創建iOS工程 更改Main.storyBoard中view爲GLKView ViewController.h中導入GLKit框架,將ViewController的繼承父類改爲GLKViewController #imp

原创 OpenGL ES GLKit 常用API

一、GLKit框架概述 GLKit 框架的設計目標是爲了簡化並加快基於OpenGL / OpenGL ES 的應⽤開發。 此框架封裝了數學庫、背景紋理加載、預先創建的着⾊器效果,以及標準視圖和視圖控制器,來幫助開發者實現渲染循環。 GLK