这是一个我找不到任何建议的问题(可能是因为我在网上搜索时英语不好:因此标题不好!)。
我在 xib 中有一个 NSTableView 的子类,它在不同的窗口中多次使用。但是在这些窗口之一中,我希望 tableView 表现得像 NSOutlineView(但也受益于我添加的不错的功能)。 我不愿意简单地创建一个 outlineView 的子类并将所有代码从 tableView 子类复制到它,因为我想重用相同的代码(更容易的代码维护)和 xib。我该怎么办?
乔希
最佳答案
如果您的子类没有额外的存储属性,并且您不需要重写初始化器,请在 NSTableView
的扩展子句中声明您的方法,而不是子类:
extension NSTableView {
func forAllSubclassesOfNSTableView() { /* etc. */ }
}
let ov = NSOutlineView()
ov.forAllSubclassesOfNSTableView() // Works
关于swift - NSTableView socket 在代码中子类化为 NSOutlineView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38946972/