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

标签 swift cocoa nstableview nspopupbutton

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

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

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

最佳答案

最终我找到了解决方案。我希望它对像我这样的初学者有用。我的代码如下。

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

关于swift - 如何使用弹出按钮切换tableview(swift,cocoa)的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33105812/

相关文章:

ios - swift fatal error : Can't form Range with upperBound < lowerBound

cocoa - NSTableColumn 中突出显示的文本颜色

ios - 自定义清除按钮

ios - 快速将 UIPanGestureRecognizer 限制为边界

Swift Scheduler 滞后?

Cocoa WebView字体太小

NSTableView 摆脱空格分隔列

nstableview - NSAttributedString 删除线不会绘制整个文本长度

swift - 核心数据库最后一条记录的通用方法

objective-c - OSX Cocoa 错误指令崩溃