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 に答える