工具讓**容易管理和閱讀
import uikit
import playgroundsupport
// 如果你感覺很難理解,可以先去閱讀[swift 簡潔之道(上)](
// 這裡所謂的 "工具" 就是一些 swift extensions. 其實 extensions 能夠在 swift 已有的型別上新增新的函式.
// 下面的**中的函式就可以幫助我們初始化一些公共ui控制項並且能夠生成一些共用的介面布局.
extension uiview
}extension uistackview
}// 大部分情況下,這裡都是把我上篇文章的**重構到類函式裡. 同時,提供不同的引數來保證每個例項的多型性
// 同樣的 translatesautoresizingmaskintoconstraints 屬性也要設定來保障 view controller 中的**簡潔
extension uibutton
}extension uilabel
}class ourawesomeviewcontroller: uiviewcontroller ()
lazy var button: uibutton = ()
override func loadview()
func buttontest(sender: uibutton)
}// 將上面的 view controller 繫結到 playground 上.
playgroundpage.current.liveview = ourawesomeviewcontroller()
playgroundpage.current.needsindefiniteexecution = true
// 正如你所見, 布局**清晰而且易管理. 整個 view controller 只有 43 行左右的**量.
// 以往,很多時候由於忘記設定屬性或者呼叫函式而導致介面不顯示,有了上面這些封裝工具之後,**不僅可以共享而且很多奇怪的問題也可以做到迅速定位.
// 採用這些技巧,使得 view controllers 更加簡單和主題化. 如果你願意,當然可以為 button,label 或者其他 ui 控制項建立很多不同的樣式擴充套件.
// 這就是我們第二篇文章的全部內容,下篇文章,我將會介紹如何將業務邏輯從 viewcontrollers 中剝離出來, 以保障架構的穩定性.
譯者注:上面的這些翻譯,個人認為只是作者為了闡述清楚**的原理(也就是說為什麼這樣做能使**簡潔),而並非是每行**都要加注釋.
C11簡潔之道 tupe元祖
tuple元組是乙個固定大小不同型別的值的集合,是泛化的std pair。我們也可以把它當作乙個通用的結構體來使用,不需要建立結構體有獲取結構體特徵,在某些情況可以取代結構體,使程式更簡潔 直觀。tuple在c 11中使用簡單,但是往往要和模板元的一些技巧結合使用。tuplechar int tp ...
真的是簡單 簡潔 簡易 簡明之道!!!
通過刪除 來實現功能的提公升。只有在不僅沒有任何功能可以新增,而且也沒有任何功能可以刪除的情況下,設計師才能夠認為自己的工作已臻完美。有時候,在軟體中根本就不存在最漂亮的 最漂亮的函式,或者最漂亮的程式。良好的寫作風格即為簡練。省略不必要的字詞。strunk and white 在計算機系統中,那些...
C11簡潔之道 迴圈的改善
在c 98 03中,通過for迴圈對乙個容器進行遍歷,一般有兩種方法,常規的for迴圈,或者使用中的for each方法。for迴圈遍歷 void func void for each方法 void vfunccall int n void func2 void for each相比一般的for迴圈...