我只想在Objective-C中问你,如果我们在类中符合协议,我们是否必须实现协议中声明的所有方法?
@interface MyClass:NSObject<NSCopying, NSCoding>
{
}
@end
在这个例子中,我是否必须实现NSCopying和NSCoding协议中的所有方法?
答案 0 :(得分:4)
您必须实现标记为@required
的所有方法,是的。这是协议的全部要点;它定义了一组必须实现的必需方法,以符合协议。
如果超类实现了协议,那么您将继承该实现,但对于NSCopying
或NSCoding
来说,它是不够的。因此,您将覆盖方法(并在您的方法中调用super
的实现)。