gpt4 book ai didi

Swift - UIPickerView selectRow 函数不采用 array.count

转载 作者:行者123 更新时间:2023-11-30 10:12:10 24 4
gpt4 key购买 nike

当我将 array.count 传递到 picker.selectRow 函数时,我出现奇怪的行为,如下所示:

    // savedPhotosArray contains 4 objects
let num = self.savedPhotosArray.count


println(num)
// prints 4

self.picker.selectRow(num, inComponent: 0, animated: true)
// picker loads index 0 ????

Surley 这应该可以工作,因为我的 savingPhotosArray.count 是一个 Int

最佳答案

您的问题是数组 count 超出了选择器行的范围。 count 返回 4,这是数组中的项目数。但数组从 0 开始计数,这意味着数组中的最后一项(以及随后在选择器中)的索引将为 3。

所以如果你想让这个工作,你必须从计数中减去 1:

// savedPhotosArray contains 4 objects
let lastIndex = self.savedPhotosArray.count - 1


println(lastIndex)
// prints 3

self.picker.selectRow(lastIndex, inComponent: 0, animated: true)
// picker loads index 0 ????

我相信选择器会加载索引 0,因为您给它的数字超出了范围。如果您想以编程方式检查选择了哪一行,可以使用方法 self.picker.selectedRowInComponent(0)

如果您需要更多信息或者这仍然不起作用,请发表评论。

关于Swift - UIPickerView selectRow 函数不采用 array.count,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32358078/

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