我们是否必须实现协议的所有方法和属性?

时间:2013-06-09 18:07:20

标签: objective-c protocols

我只想在Objective-C中问你,如果我们在类中符合协议,我们是否必须实现协议中声明的所有方法?

@interface MyClass:NSObject<NSCopying, NSCoding>
{

}
@end
在这个例子中,我是否必须实现NSCopying和NSCoding协议中的所有方法?

1 个答案:

答案 0 :(得分:4)

您必须实现标记为@required的所有方法,是的。这是协议的全部要点;它定义了一组必须实现的必需方法,以符合协议。

如果超类实现了协议,那么您将继承该实现,但对于NSCopyingNSCoding来说,它是不够的。因此,您将覆盖方法(并在您的方法中调用super的实现)。