2015-10-13 44 views
1

我有弹出式按钮和nstableview。当我在弹出按钮中切换项目时,表格的内容应该改变。我有弹出按钮中的每个项目应该显示在nstableview中的数组。我猜想有两个函数:如何使用弹出按钮切换tableview(swift,cocoa)的内容?

(numberOfRowsInTableView(tableView: NSTableView) -> Int 
tableView(tableView: NSTableView, viewForTableColumn tableColumn: 
       NSTableColumn?, row: Int) -> NSView? 

我必须使用if条件来选择正确的数组。如果条件显示弹出项目,问题是我必须写在这些内容中的吗?或者,我会走错方向吗?

+0

试图使问题更具可读性和格式化 –

回答

1

在一天结束时,我发现了解决方案。我希望它对像我这样的初学者有用。我的代码如下。

var selectedContentOfTable = Int() 

@IBAction func chooseContentOfTable(sender: AnyObject) 
{ 
    selectedContentOfTable = (sender as! NSPopUpButton).indexOfSelectedItem 
    myTable.reloadData() 
} 

func numberOfRowsInTableView(tableView: NSTableView) -> Int 
{ 
    ... 
    if selectedContentOfTable == 0 //for upper popup item 
    { 
     //your code for particular tableview content 
    }else if selectedContentOfTable == 1 //for next down popup item 
    { 
     //your code for particular tableview content 
    } 
    ... 
} 

func tableView(tableView: NSTableView, viewForTableColumn tableColumn: 
      NSTableColumn?, row: Int) -> NSView? 
{ 
    ... 
    if selectedContentOfTable == 0 //for upper popup item 
    { 
     //your code for particular tableview content 
    }else if selectedContentOfTable == 1 //for next down popup item 
    { 
     //your code for particular tableview content 
    } 
    ... 
}