2015-04-04 28 views
0
@IBAction func nextTurn(sender: AnyObject) { 
    if numberOfTurn < (playersForPicker.count-1) { 
    numberOfTurn++ 
    }else{ 
     numberOfTurn = 0 
    } 
    titleForTwo.title = playersForPicker[numberOfTurn] 
    var lostPlayer = playersForPicker[numberOfTurn] 

    titleForTwo.title = playersForPicker[numberOfTurn] 

    playersForPicker.removeAtIndex(numberOfTurn) 

    playerPicker.reloadAllComponents() 

     playersForPicker.insert(lostPlayer, atIndex: numberOfTurn) 
    startButton.setTitle("Next Turn", forState: UIControlState()) 
} 

playerPicker不会重新加载或更改,所以我需要帮助如何刷新或重新加载选择器视图时单击按钮。如何重新加载选取器视图?

+0

首先,你确定那个函数被调用了吗?你的'startButton'是否会改变文字? – 2015-04-04 04:25:38

+0

是的,它正在改变 – tom3377 2015-04-04 04:29:15

+0

为了确保你的'pickerView'不更新它的组件,只需在代理/数据源方法中放置一个断点即可。 – 2015-04-04 04:40:59

回答

0

它为什么要改变?您正在移除playersForPicker [numberOfTurn],但您将lostPlayer设置为相同的值,然后将其添加回阵列中的相同位置。数组没有改变,所以你的选择器也不会改变。你正在重新加载你的选择器视图。如果您注释掉插入lostPlayer的行,则应该看到该项从选取器中消失。