我正在查看 NSTableViewDataSource 的文档,他们说该协议(protocol)仅在 osx 10.6 上可用。怎么会这样? NSTableViewDataSource 不是包含 NsTableView 的所有数据的对象吗?
最佳答案
补充一下@Zydeco 所写的内容,Objective-C 中的@protocol
在 10.5 之前没有@optical
属性。因此,Apple 无法使用 @protocol
来定义委托(delegate)方法,因为委托(delegate)对象选择仅实现委托(delegate)方法的一部分。苹果在过去使用了一种称为非正式协议(protocol)的东西,它只是 NSObject
类别。
既然他们引入了在 @protocol
中将某些方法标记为 @Optional
的方法,他们决定在 10.6 中让每个委托(delegate)都成为正式协议(protocol)。这样可以进行更多的编译时检查。但功能没有改变。
请参阅official documentation有关详细信息的协议(protocol)。
关于cocoa - NSTableView 适用于 osx 10.0,但 NsTableViewDataSource 仅适用于 10.6?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2149580/