iOS Development (入門) – Table View 實作

Reference: iOS 9 app程式設計實力超進化實戰攻略 Ch8~11 & Edward Chiang@ALPHAcamp

本週學了很常用到的TableView部分,像是facebook、line的APP就有用到,另外還有UIAlertController、自訂動作按鈕。

自己實作了一個PokemonTable來複習學到的功能。

  • 課程心得:
    1. 課前要先預習,上課比較能快速吸收&理解。
    2. 可以用presudo code的方式,描述程式每一個步驟,再轉成swift
  • 實作心得:
  1. 自己參考課本&老師的範例再重新實作,除了可以複習兩邊各教到的功能外,也會發現其實有些地方,是知其然,不知其所以然,當出現bug & Fix it後,就會更清楚那些地方,缺點是沒人問的時候,debug會消磨你的時間和精神。
  2. 除了debug,光是找素材也很花時間,還有autolayout的排版。
  3. 多寫,遇到越多的bug,然後解決它。


主要架構如下:

%e8%9e%a2%e5%b9%95%e5%bf%ab%e7%85%a7-2016-09-24-%e4%b8%8b%e5%8d%886-18-55

PokemonTableViewController下是我們給定的raw data,下週才會學到從網路伺服器去取raw data。


TableViewDataSource下的numberOfSections, numberOfRowsinSection, cellForRowAt定義了有幾個分類、列和列的內容

 

TableViewDelegate下有許多功能:

accessoryButtonTappedForRowWith:按下附件按鈕後的功能,這次實作是加上提醒控制器的功能UIAlertController

957189b0-4bb5-4cd8-a2b3-9924a28a6620-22061-000077e44f2633c2

editActionForRowAt:替列新增動作、按鈕,e.x. : share Button, delete Buttonb1779c94-a50b-4157-bda0-a59d550e069f-22061-0000782e756229ca

 

以下功能就不貼gif動畫了,時間寶貴啊啊啊

commit:ForRowAt :可刪除或新增列

canEditRowAt :可決定哪些列可編輯與否

moveRowAt:to:可記錄列被更動到哪一個新位置

canMoveRowAt:可決定哪些列可更動位置


Navigation :連結到另一個ViewController

 

程式碼:https://github.com/dan12411/PokemonTable


發表留言