Arrays 如何在swift中为UIPickerview向2组件数组添加新元素

Arrays 如何在swift中为UIPickerview向2组件数组添加新元素,arrays,swift,multidimensional-array,uipickerview,Arrays,Swift,Multidimensional Array,Uipickerview,当我尝试使用.count添加新项目时,没有显示任何内容。当我使用它时,它取代了“汽车”,我在pickerview中看不到它,而且在新项目出现之前,我需要上下滚动几次 var picker1 = String() var picker2 = String() var pickerViewArray = [["Items", "car"], ["Action", "Turn", "Hit", "Pull", "Scrape"]] func numberOfComponents(in picker

当我尝试使用.count添加新项目时,没有显示任何内容。当我使用它时,它取代了“汽车”,我在pickerview中看不到它,而且在新项目出现之前,我需要上下滚动几次

var picker1 = String()
var picker2 = String()

var pickerViewArray = [["Items", "car"], ["Action", "Turn", "Hit", "Pull", "Scrape"]]

func numberOfComponents(in pickerView: UIPickerView) -> Int {

    return pickerViewArray.count
}

func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
    return pickerViewArray[component].count
}

func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
    return pickerViewArray[component][row]
}

func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {

    picker1 = pickerViewArray[0] [pickerView.selectedRow(inComponent: 0)] + ""
    picker2 = pickerViewArray[1] [pickerView.selectedRow(inComponent: 1)] + ""
}

func addItemsToArray () {
    stringWall = "Wall"        
    addItemAtIndex = pickerViewArray[0].count
    pickerViewArray[0].insert(newItem, at: addItemAtIndex)
    allRoomArray[arraySelector][wallButton] = stringWall

    pickingRooms()
    print(newItem)
}

我认为ppl不会用这种方式做你想做的事。通常,我将使用自定义的
UITableViewCell
创建一个
UITableView
,以实现动态列表
UIPickerView
是完全预定义的,没有太多的动态视图

而对于你的代码,如果你真的需要你的
UIPickerView
是动态的,我会说

更改数据源后,为您的案例添加
self.pickerView.setNeedsLayout()


我在XCode9 beta3、iOS 8.0上的target和Swift 3上对它进行了测试。

我不认为ppl能以这种方式满足您的需求。通常,我将使用自定义的
UITableViewCell
创建一个
UITableView
,以实现动态列表
UIPickerView
是非常预定义的,没有太多的动态视图。感谢您的回答。你给的最好的建议是,这不是我想要的。