当我将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这应该可以,因为我的savedPhotosArray.count是一个Int
答案 0 :(得分:1)
您的问题是数组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)
。
如果您需要更多信息,或者这仍然无法发挥作用。