Learn Swift HK — 2019/03/02

聚會記錄及筆記

Lumanman
Swift Things
7 min readMar 3, 2019

--

Photo by Luke Chesser on Unsplash

這次回香港處理簽證順道參加了 Learn Swift HK 的聚會,在這邊簡單記錄一下活動心得和筆記。

Learn Swift HK 算是一個還蠻新的社群,主辦人去年從美國回來後才開始舉辦,但這個社群似乎是香港唯一一個活著的iOS社群,基本上一個禮拜會舉辦一次活動,活動的基本資訊可以在meet up上面找到。

進行方式

主辦人會先設定一個主題,然後就那個主題進行解說,主要是口述,會有sample code 可以看,也會帶實作。

活動記錄

這天的活動在天后的一間咖啡店舉行,總共有六人參加,其中有一位是外籍人士所以我們全程用英語進行交流。一開始大家先輕鬆的聊天,自我介紹、認識彼此、聊聊做過的 App等等,然後便進入主題討論。這是原本的主題是 Private V.S Fileprivate ,但內容有點少所以我們臨時加碼用 Firebase 寫了個註冊頁面。

整個活動下來感覺十分充實,有認識新朋友之餘,也學到新東西,可惜之後無法繼續參加,但我知道大家都一定會繼續變強,期待下次再交流!

聚會筆記

Private跟 Fileprivate的分別

  • Private 的 functions以及 variables 限class內存取, class的範圍也包括其他檔案中的extensions。
  • Fileprivate 的 functions以及 variables 在檔案內所有的class都可以存取但在該檔案外便不能存取。
  • Setter 和 Getter 可設不同的權限,例如: private(set) public var foo: String? -> setter 會是private而getter會是public

用程式碼設 Autolayout

成品畫面:

Step 1: 創建一個root view controller

將以下代碼添加到AppDelegate中的didFinishLaunchingWithOptions

Step 2: 創建一個設定頭像的按鈕

在Sign Up Controller中添加一個按鈕:

Step 3: 用程式碼設 Auto layout

使用 NSLayoutConstraint.activate() 啟用約束條件

效果:

如果想更方便可以在UIView的Extension加一個方法使用:

記得要把約束條件的isActive 設為true 以啟用約束條件!

把Text Field加進Stack View 再用同一原理設置約束條件就能得到一個美美噠註冊畫面,這邊便不再多述了。之前我主要是用Storyboard 刻UI,今次用了純code,感覺不錯,希望能成為棄用 Storyboard 的開端。

整個專案:

--

--

Lumanman
Swift Things

Swift learner & sharer | Nothing is wasted, nothing is in vain.