【问题标题】:NSTableView not workingNSTableView 不工作
【发布时间】:2015-04-03 05:23:47
【问题描述】:

我关注的是tutorial,而不是 nib 文件,我使用了故事板。我不知道我犯了什么错误。当我运行它时,它只显示 10 个 tableview 单元格,它不显示我传递的值。

这是我使用的代码 ->

// MARK: - NSTableViewDataSource

    func numberOfRowsInTableView(aTableView: NSTableView!) -> Int {
        return 10
    }

    func tableView(tableView: NSTableView!, viewForTableColumn tableColumn: NSTableColumn!, row: Int) -> NSView! {
        // 1
        var cellView: NSTableCellView = tableView.makeViewWithIdentifier(tableView.identifier, owner: self) as NSTableCellView

        // 2
        if tableColumn.identifier == "BugColumn" {
            // 3

            cellView.imageView!.image = NSImage(named: "delete")!
            cellView.textField!.stringValue = "Alvin"
            return cellView
        }

        return cellView
    }



override func awakeFromNib()
    {
        self.tableView.setDataSource(self)
        self.tableView.setDelegate(self)
    }

请帮我弄清楚,我在这里遗漏了什么。?输出:我只是十次获得默认的 tableView 单元格,我在 dataSource 中给出了一些值。提前致谢。

【问题讨论】:

  • 当您的代码显然是针对 OSX (NSImage, NSTableView) 时,为什么将您的问题标记为 iOS?
  • @LeonardoSavioDabus 是的,我错了。

标签: objective-c macos swift nstableview


【解决方案1】:

您正在使用 tableView 的标识符,但您应该使用 tableColumn 的标识符:

var cellView: NSTableCellView = tableView.makeViewWithIdentifier(tableView.identifier, owner: self) as NSTableCellView
//                                                               ^^^^^^^^^

var cellView: NSTableCellView = tableView.makeViewWithIdentifier(tableColumn.identifier, owner: self) as NSTableCellView

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多