Apple Developer Connection
Advanced Search
Member Login 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




Did this document help you?
Yes: Tell us what works for you.

It’s good, but: Report typos, inaccuracies, and so forth.

It wasn’t helpful: Tell us what would have helped.
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