如何使用弹出按钮切换tableview(swift,cocoa)的内容?

时间:2015-10-13 14:49:44

标签: swift cocoa nstableview nspopupbutton

我有弹出按钮和nstableview。当我在弹出按钮中切换项目时,表格的内容应该改变。我在弹出按钮中的每个项目都有应该在nstableview中显示的数组。我想有两个功能:

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

我必须使用if条件来选择正确的数组。如果条件指示弹出项目,问题是我必须写的?或者,我的方向是错误的吗?

1 个答案:

答案 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
     }
     ...
 }