4

foo が に実装され、 に実装されているにもかかわらず、 or を実装してTest1(FooBar)いないclang レポート。はの上に存在するため、clang はその実装を確認する必要があり、私が で実装する必要はありません。を実装しているため、clang は で実装する必要はありません。foobarTest1(Foo)barTest1Test1(Foo)@interfaceTest1(FooBar)Test1(Foo)fooTest1(FooBar)Test1barTest1(FooBar)

@interface Test1 : NSObject

- (void) bar;

@end

@interface Test1(Foo)

- (void) foo;

@end

@protocol FooBar <NSObject>

- (void) foo;
- (void) bar;

@end

@interface Test1(FooBar)<FooBar>

@end

@implementation Test1(Foo)

- (void) foo {
}

@end

@implementation Test1(FooBar)

@end
4

1 に答える 1

2

私の理解では、この行は次のとおりです。

@interface Test1(FooBar)<FooBar>

平易な英語では、「クラス Test1 のカテゴリFooBar はプロトコル FooBar を実装する必要があります」と解釈できます。つまり、プロトコルはクラスではなくカテゴリに適用されます。

于 2012-06-13T18:54:44.510 に答える