当使用Argument绑定时,我在使IB Action Invocation工作时遇到了麻烦。 谁能解释一下这是如何工作的。 如果我不使用Argument绑定,那么绑定就会工作,但方法的调用却有一个nil参数。 我假设Argument绑定的目的是为了设置将在方法调用中传递的参数。 在我的例子中,我想获得一个对Table Cell Views对象的引用,我得到一个编译器错误,如下所示。
Exception while running ibtool: *** -[__NSArrayM insertObject:atIndex:]: object cannot be nil
我正在将动作调用绑定到表单元格视图中的Button。
解决办法。
在Report Queue Table View Controller类中:
NSTableViewDelegate
到声明中。你不需要实现任何方法。@IBAction func cancelAction(_ sender: NSButton) {
let row = tableView.row(for: sender)
if let objects = arrayController.arrangedObjects as? [String] {
let object = objects[row]
cancel(object)
}
}
在IB。
cancelAction
的报告队列表视图控制器。