2
@interface NSOutlineView (addations)
- (id)selectedItem
@end
@interface AAAOutlineView : NSOutlineView
@end
那么,AAAOutlineView的对象是否可以调用selectedItem方法?类别方法是否可以扩展到子类?
感谢您的帮助
@interface NSOutlineView (addations)
- (id)selectedItem
@end
@interface AAAOutlineView : NSOutlineView
@end
那么,AAAOutlineView的对象是否可以调用selectedItem方法?类别方法是否可以扩展到子类?
感谢您的帮助
类别方法适用于定义类别的类的所有对象。由于每个AAAOutlineView
是一个NSOutlineView
对象,因此所有类别方法也适用于AAAOutlineView
对象。
但是,这个类别是正式协议。我尝试了这种情况得到了“ - [AAAOutlineView selectedItem]:无法识别的选择发送到实例0x10011aff0” – CocoaUser 2014-09-30 01:59:35
@CocoaUser你不能调用一个类的实例方法。如果你尝试'AAAOutlineView * someView = ...; id item = [someView selectedItem];'你的代码应该可以正常工作。 – dasblinkenlight 2014-09-30 02:05:08
我真的很确定,我把它称为对象的实例方法。也许我错了什么。 – CocoaUser 2014-09-30 02:13:16