[小卓筆記]:使用Storyboard的正確姿式

本文的內容是對這篇文章的閱讀總結
原文連接:A Case For Using Storyboards on iOSios

顯然王巍的這篇文章裏的實踐經驗比本文原做者的觀點更加值得承認:再看關於 Storyboard 的一些爭論swift

不少開發者對於在項目中Storyboard是嚴格禁止的。SB容易引起衝突,文件的可讀性差,加載速度可能更慢都是開發者經常提到的缺點。然而我認爲這些是在一些ie使用場景下是能夠避免的,SB在項目中依然有適用的地方。ide

使用SB的好處

直觀!spa

  • 能夠直接看到界面的視覺效果
  • 添加AutoLayout時更加符合直覺

在SB中的操做能夠立刻展現到眼前。使用體驗很好,也提升了效率。code

如何正確的使用

一個SB中只有一個VC!

這樣就減小了衝突的可能,兩個開發者同時修改一個VC的機率很低,就算衝突了也只是一個VC較容易解決。orm

這種方式也爲更便捷的從SB中初始化VC提供了一種方式。直接根據類名載入SB中的 initial view controller 就能夠了。不須要給每一個VC指定標識符。cdn

有不少特性(static TableView)只能在SB中使用,在xib中不支持,都使用了SB後,這些特性也能夠在SB中自如的使用。blog

不要使用segue

segue的跳轉很是不靈活,若是都在prepare中處理數據也很是死板。因此不要使用segue跳轉。開發

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    usernameToSend = usernames[indexPath.row]
    performSegue(withIdentifier: SegueIdentifier.showUserDetails, sender: nil)
  }

 override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
  ///
}複製代碼

控件的屬性在代碼中設置

好比 font 或者 color ,若是直接在 SB 中只能設置一個固定的值,建議仍是經過代碼使用常量設置,能夠方便的控制全局的控件的樣式。
若是要經過一些關鍵字查找屬性設置,在代碼中也比在SB中更容易被查找到。get

技術是死的,人是活的

不要由於某個技術有一些缺點就一棍子打死。並非有缺點就要全盤放棄。不要給本身這種限制,在合適的場景你依然應該考慮使用這項技術。
原文:

My point is to not disregard a whole technology because you don’t like one aspect of it. You are free to pick and choose which parts you want to use. It’s not all or nothing.

歡迎關注個人微博:@沒故事的卓同窗

相關文章
相關標籤/搜索