「要顯示清單當然就是拿Table來顯示囉」約翰忍不住心裡的得意
「用講的就能寫出來我也是醉了,廢話少說」同事一如往常的嚴厲說道
興高采烈的用了TableView + TableCell
又是刻在Storyboard上,又是新增一個Xib,有點麻煩
在TableView裡面的Cell一般來說(其實也只是就我的經驗來看)有兩個做法,
一是在你的TableView裡面再放一個TableCell,然後就把你要放的資料都刻在Storyboard裡面,就像下面這樣
當然!Cell裡面的UI compoments也要把連結綁好
這樣好處就是方便,缺點就是ui的部分不好 reuse
另一個做法,就是當你新增TableCell這個類別時,同時新增一個Xib,用起來會像這樣
你只要拉一個空的TableView進到你的Storybord的View裡面就行了,剩下的就在Code裡面去處理
最後,突然想到,你還可以完全用Code去刻UI和綁定事件,但這不太符合MVC的精神以下省略…
過程中遇到了「unable to dequeue a cell with identifier 'Cell' must register a nib or a class for the identifier or connect a prototype cell in a storyboard」這個問題
找了一些文章,查到是因為這個地方沒有加上ID
否則這個地方會錯(因為id根本找不到啊,錯誤原因說的很清楚了)
public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell : MyCell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! MyCell
let SingleData : MyType = self.myDatas[indexPath.row]
cell.setInfo(MyType: SingleData)
return cell
}
補上了之後Table就可以正常使用了
總之,最後成功了解決這個小問題,再和我同事好好炫耀一番!!!