gpt4 book ai didi

swift - 仅在 Swift 中一次随机播放 TableView 数组

转载 作者:行者123 更新时间:2023-11-30 13:35:40 26 4
gpt4 key购买 nike

我的项目中运行着大量填充的 tableView。我正在尝试仅一次对 tableView 数组进行洗牌。我从此链接 How do I shuffle an array in Swift? 找到了类似的代码代码工作正常..但是每次我滑动(向上/向下)时,代码都会对 TableView 数组进行洗牌。我只想限制代码只发生一次...

我正在使用以下代码。

    override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.


var indexArray = Array(MY ARRAY NAME.indices)
var index = indexArray.endIndex

let indexGenerator: AnyGenerator<Int> = anyGenerator {
if index == indexArray.startIndex { return nil }
index = index.advancedBy(-1, limit: indexArray.startIndex)
let randomIndex = Int(arc4random_uniform(UInt32(index)))
if randomIndex != index {
swap(&indexArray[randomIndex], &indexArray[index])
}
return indexArray[index]
}

let permutationGenerator = PermutationGenerator(elements: MY ARRAY NAME, indices: AnySequence(indexGenerator))
let newArray = Array(permutationGenerator)
}

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as UITableViewCell


////////////////////////////////////
cell.textLabel?.text = newArray[indexPath.row] //use of unsolved identifier "newArray"
////////////////////////////////////

return cell

}

提前致谢。

最佳答案

只需在 viewDidLoad 内部调用此函数,它就会只对 TableView 单元格进行一次洗牌。无需在每个单元格中调用它。

关于swift - 仅在 Swift 中一次随机播放 TableView 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36102694/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com