|
|
Log In | Not a Member? |
Contact ADC |
| < 前ページ次ページ > |
複雑なアプリケーションに取り組んでいるときに、次のようなコードを記述している場合があります。
#import "B.h" |
@protocol A |
- foo:(id <B>)anObject; |
@end |
ここで、プロトコルBが次のように宣言されているとします。
#import "A.h" |
@protocol B |
- bar:(id <A>)anObject; |
@end |
このような状況では、循環が生じ、どちらのファイルも正しくコンパイルされません。このような再帰的循環を中断するには、プロトコルが定義されているインターフェイスファイルをインポートするのではなく、@protocolディレクティブを使って必要なプロトコルを前方参照する必要があります。次のコードの抜粋は、これをどのように行うかを示しています。
@protocol B; |
@protocol A |
- foo:(id <B>)anObject; |
@end |
@protocolディレクティブをこのように使用すると、「B」が後で定義するプロトコルであることがコンパイラに単純に通知されます。プロトコルBが定義されているインターフェイスファイルはインポートしません。
| < 前ページ次ページ > |
Last updated: 2007-10-31
|
Get information on Apple products.
Visit the Apple Store online or at retail locations. 1-800-MY-APPLE Copyright © 2007 Apple Inc. All rights reserved. | Terms of use | Privacy Notice |