如何在集合视图中从数组显示项目到特定的 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 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何检查项目是不是存在于多个数组中

如何将 UIImages 数组添加到集合视图

如何仅索引符合特定条件的集合项?

Swift UI集合视图 - 如何在Cell中显示“segued”用户输入?

单击 Listview 中的项目时,如何在新活动中从 Firebase 检索数据?

如何在 Html:encode 中从模型调用数组到局部视图