大家好,又回到混編這個議題,史努比最近也遇到類似的問題,想要記錄下來順便跟各位分享。跟上次的情況相反,有些Objective-C的Legacy Code需要一些新的元素,例如看到一個不錯的UI介面,直接拿最新的東西來用的時候、或是想要開始串一些Swift的新寫的程式時,就會需要Swift / Objective-C混合使用了。
Rank#1 — Implicit returns from single-expression functions
函數若只包含一個表達式,可直接省略return(好懶啊~)
記錄一下在Mac上開發Composer/Laravel重要的第一步
這次就簡單說明,新的懶人if let語法,以往我們使用if let來確保optional的變數是否存在時,會使用以下語法:
let snoopy:Int? = 100if let snoopy = snoopy { print("變數內容為:\(snoopy)")}
若看到此類語法 snoopy = snoopy是否經常讓人困惑?
Swift 5.0新語法介紹
Swift 5.0的釋出,又讓開發者開始雀躍(頭痛?)了。以下擅自選了幾個比較需要說明的語法來做介紹,其餘的我想應該各位可以很快瞭解。
Raw Strings
背景介紹
RESTful是一種很常見的網頁API服務,說起來就是按REST(Representational State Transfer)的作者 Roy Thomas Fielding博士於2000年發表的論文中發表的一種架構風格,比起他的前輩SOAP(Simple Object Access Protocol)來說,他的模式較為簡潔,因此許多著名的Web API都會支援,如:Google、Amazon…
其實Swizzle在Objective-C已經運行已久,這是利用Objective-C的runtime特性來達到程式碼的動態注入(Dynamic code injection)。
比如說:我們可以將某個Class的ViewDidLoad做method swizzling,可以做到完全不動到原本程式碼的情況下,讓原本的ViewDidLoad行為改變。
不知道這裡有沒有經常使用尾隨閉包的朋友?或是覺得這種寫法太簡單、過度省略而不愛的人存在?
今回,Swift預計要在Swift 5.3版本,加入Multiple Trailing Closures(多重尾隨閉包)了。主要可以解決只能讓最後一個必包省略,前後程式碼一致性不一致的問題。
史努比為了避免每次單元測試都要重新查一次文件,所以本次就來把重點彙整一下,希望各位會喜歡開始做Unit Test!(?)
引用:匯入時利用@testable可以將原本內部才能存取到的成員公開
大家好,你們的Legacy Code是否還在猶豫要進行重構還是重寫?對於這些前人的智慧是否還必須與之共處一段時間?此時,Swift / Objective-C混合使用就變得非常重要。史努比覺得應該可以幫助一些正在維護古代程式碼的開發者。