【发布时间】:2017-04-15 18:24:05
【问题描述】:
假设我有一个字符串数组,例如:["Michael", "James", "Rob"],我想用这些名称填充我的 3 个单元格的文本标题。
我正在使用 UICollectionViewController。
【问题讨论】:
标签: ios swift xcode uicollectionview
假设我有一个字符串数组,例如:["Michael", "James", "Rob"],我想用这些名称填充我的 3 个单元格的文本标题。
我正在使用 UICollectionViewController。
【问题讨论】:
标签: ios swift xcode uicollectionview
你需要实现UICollectionViewDataSource方法如下:
collectionView(_:numberOfItemsInSection:) 应该返回数组的 count。
collectionView(_:cellForItemAt:) 应该返回一个UICollectionViewCell 类型的单元格,您可以在其中显示正确的项目。您可以使用indexPath.item 获取数组的正确索引。
【讨论】:
您需要为某个对象(可以是UICollectionViewController 本身)实现UICollectionViewDataSource 协议,并将其设置为视图的dataSource 属性。
类似:
class MyCollectionViewController: UICollectionViewController, UICollectionViewDataSource {
myDataArray: [String] = ["data", "goes", "here"]
override init(collectionViewLayout layout: UICollectionViewLayout) {
super.init(layout)
self.collectionView?.dataSource = self
}
collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) {
return myDataArray.count
}
collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) {
let item = myDataArray[indexPath.row]
//use "item" to build your cell
return myCell
}
}
【讨论】: