0

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

@interface MyClass:NSObject<NSCopying, NSCoding>
{

}
@end

在这个例子中,我必须实现 NSCopying 和 NSCoding 协议中的所有方法吗?

4

1 回答 1

4

您必须实现所有标记的方法@required,是的。这就是协议的重点;它定义了一组可选和必需的方法,必须实现这些方法以符合协议。

如果超类实现了该协议,那么您将继承该实现,但对于NSCopying或都不太可能足够NSCoding。因此,您将覆盖方法(并调用super您的实现)。

于 2013-06-09T18:15:39.730 回答