如何在集合视图中从数组显示项目到特定的 indexPath [关闭]
Posted
技术标签:
【中文标题】如何在集合视图中从数组显示项目到特定的 indexPath [关闭]【英文标题】:How to display item from array to specific indexPath in collection view [closed] 【发布时间】:2019-08-23 06:15:08 【问题描述】:我需要以不同的方式显示集合视图。我有一个项目数组,如下所示:
items = ["A","B","C","D","E","F","G","H","I"]
然后我需要显示我的收藏视图,如下所示:
如何实现这种实现方式?
我尝试通过以下方式实现:
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell
let cell = chartCollectionView.dequeueReusableCell(withReuseIdentifier: "ViewCell2", for: indexPath) as! ViewCell2
cell.lblTitle.text = self.getDataFromArray(index: indexPath.row)
return cell
但是这个结果现在看起来像下面这样:
【问题讨论】:
你希望你的数据被随机放置,对吧? 你的数组是固定的还是静态的?如果是,那你为什么不改变你的数组数据:) 数组总是动态的,@rv7284,需要随机放置数据 【参考方案1】:您可以使用方法 shuffle()
随机化您的数据,该方法是变异函数
或 shuffled()
返回混洗后的元素数组
items = ["A","B","C","D","E","F","G","H","I"].shuffled()
复杂度:O(n),其中 n 是集合的长度。
文档:
https://developer.apple.com/documentation/swift/array/2994753-shuffle https://developer.apple.com/documentation/swift/array/2994757-shuffled
【讨论】:
但是如何在集合视图的第一个单元格上显示例如项目“E”? @IKKA 没明白你的意思,但是在随机数据之后,你可以加载到数据源并使用 indexPath 获取数据,通常你可以使用任何数组以上是关于如何在集合视图中从数组显示项目到特定的 indexPath [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
Swift UI集合视图 - 如何在Cell中显示“segued”用户输入?