我有一个UIPickerView。我有一个空白数组,直到我的代码解析XML请求。所以当它发生时,我希望它用该数据填充数组。以下是我如何设置所有内容。
var pickerData = []
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return pickerData.count
}
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String! {
return pickerData[row] as String
}
func parser(parser: NSXMLParser!, foundCharacters string: String!) {
if (seperatedSoap == "pickerDataString") {
if (currentElementName == "name") {
pickerData = [string]
println(pickerData)
}
}
我显然没有粘贴每一段代码,但你应该能够理解这里发生了什么。现在我的控制台在解析后将其打印为我的pickerData。
(
"2x1 on recv-small"
)
(
"2x1 on ship-small"
)
(
"3x2 on avs-1"
)
(
"2.25x2 on photo-large"
)
(
"2.25x2 on recv-large"
)
(
"2.25x2 on repair-large"
)
(
"2x3 on wireless-1"
)
(
"4x6 on ship-shiplbl"
)
(
"4x6 on recv-shiplbl"
)
(
"4x6 on wireless-shiplbl"
)
这正是我想要的,但它没有出现在我的UIPickerView中,因为它显然是空白的?我在这里做错了什么?
答案 0 :(得分:0)
首先你应该使用
pickerData.append(string)
因为你的赋值总是将数组设置为包含一个(最后一个)元素。
然后你可能需要拨打reloadComponent
答案 1 :(得分:0)