第二部分主要是往模板里填充數據以及計算dynamic cell的高度。看下這部分完成后:
GIF
#1 往模板里填充數據
1.新建文件,命名為Feed. 聲明四個變量。
Feed.swift
2.在FeedController.swift里:
--聲明數組feeds
--在ViewDidLoad()里,添加以下代碼。問題來了,為什么能對常量進行改變?看上面,Feed是一個class,它是引用類型。也就是說,Feed的實例是引用,這個引用是常量不能變,但是能通過這個引用對值進行改變。
FeedController.swift
3.在FeedCell.swift里,添加變量feed;didSet起到觀察者的作用,當feed有變化的時候,name,profileImageName,feedText和feedImageName相應地變化
FeedCell.swift
4.返回到FeedController.swift里,更新數據源方法
FeedController.swift
#2 計算dynamic collectionView cell的高度
cell里的內容是動態變化的,如何根據內容,相應地調整cell的高度呢?
FeedController.swift
首先,計算出feedText的高度;
然后,計算knownHeight的高度。記住轉化為CGFloat類型。
constraint
最后,計算cell的高度。把上面兩個加起來,再加16,使得feedText看起來不至于太擠。
第二部分完成。