原创 RxSwift - ObserveOn VS SubscribeOn

Observable subscription 首先了解一下Observable subscription的工作情況,我們可以把訂閱分爲以下3個部分: 1)首先我們定義一個Observable,在某些情況下我們會在閉包內提供一些代碼,

原创 AutoLayout - NSLayoutConstraint

什麼是NSLayoutConstraint NSLayoutConstraint由名字翻譯過去就是佈局約束。該類是表示用戶界面上兩個對象之間的佈局關係,並且該關係必須滿足基本約束的佈局系統。 解析約束(Constraint) 佈局視圖(v

原创 RxSwift - UITableView的簡單使用

UITableView是我們經常用的一個控件,而且在開發過程中經常需要設置dataSource和delegate,然後實現相應的協議: func tableView(_ tableView: UITableView, numberO

原创 CALayer實現圓角陰影效果

直接上代碼: #import "ViewController.h" #define PHOTO_SIZE 160 @interface ViewController () @end @implementation Vie

原创 RxSwift - Schedulers

Scheduler簡單來說Scheduler就是進程執行的上下文(也可以說程序執行的上下文)。上下文(context)可以是一個線程(thread),一個派發列隊(dispatch queue),或者是用於OperationQueueSc

原创 iOS - UITextview的簡單使用

UITextView繼承於UIScrollView,所以它也是一個可滾動控件。UITextView是我們開發過程中顯示多行文本的首選,它支持顯示大量文本內容,並且支持使用自定義樣式信息和編輯功能。首先我們創建一個UITextView,並設

原创 iOS - 使用TestFlight進行App的Beta版本測試

TestFlight能夠讓我們很容易在app正式發佈之前邀請用戶來測試我們的app並且收集反饋信息。爲了使用TestFlight,僅僅是需要上傳app的beta版本iTunes Connect,然後在iTunes Connect中添加你想

原创 iOS9 - UIStackView

UIStackView在iOS9中蘋果在UIKit框架中引入了一個新的視圖類UIStackView。UIStackView類提供了一個高效的接口用於平鋪一行或一列的視圖組合。stackView視圖管理着所有在它的arrangedSubvi

原创 Swift - Static和Class

static 和 class在Swift中static和class都表示“類型範圍作用域”的關鍵字。在所有類型中(class、static、enum)中,我們可以使用static來描述類型作用域。class是專門用於修飾class類型的。

原创 iOS - loadView和viewDidLoad

loadView方法每一個視圖控制器(UIViewController)都會生成一個loadView方法,很多情況下我們都不會使用它,因爲創建一個視圖控制器之後並沒有該方法,而且蘋果也建議不要直接調用該方法,如果需要那麼就要重寫loadV

原创 Swift - TableViewCell高度動態計算

在iOS8,我們爲了允許cell自動計算高度,必須注意以下幾點: 1:當創建UITableViewCell的時候使用Auto Layout佈局子視圖,添加對應的約束( leading, top, trailing and bott

原创 Swift4 - 動態計算UITableView中tableHeaderView的高度

開發的過程中,經常使用UITableView的tableHeaderView視圖,對於固定高度的tableHeaderView,我們使用非常簡單。創建一個自定義視圖,計算好固定高度即可。如果要動態更新tableHeaderView的高度,

原创 Swift4 - KVC與KVO

KVC和KVO是我們開發中常用的功能,現在來看一下在Swift4中的變化KVC在Swift4的時候,Struct也支持KVC,我們不在使用setValue: forKeypath的方式,而是使用新的語法特性,下面看一下例子,參考這裏:st

原创 iOS - MVVM

作爲一名iOS開發者,我們經常使用MVC模式,也就是Model-View-Controller.這是一種標準的方式來構建我們的iOS應用。但是由於MVC存在着一些問題,所以在iOS開發中,開始使用了一種新的架構MVVM,即Model-Vi

原创 iOS - 正則表達式

正則表達式 又稱正規表示法、常規表示法(英語:Regular Expression,在代碼中常簡寫爲regex、regexp或RE),是計算機科學的一個概念。正則表達式使用單個字符串來描述、匹配一系列符合某個句法規則的字符串。在很多文本