私はiPhoneアプリのObjective-cで最初の行を書いています。
これはコードです:
/* ViewController.h */
@protocol ImageFlowScrollViewDelegate;
@interface ViewController : UIViewController<ImageFlowScrollViewDelegate> {
NSMutableArray *characters;
UILabel *actorName;
}
/* ViewController.m */
#import "ImageFlowScrollView.h"
@implementation IMDBViewController
/* methods here */
/* ImageFlowScrollView.h */
@protocol ImageFlowScrollViewDelegate;
@interface ImageFlowScrollView : UIScrollView<UIScrollViewDelegate> {
NSMutableArray *buttonsArray;
id<ImageFlowScrollViewDelegate> imageFlowScrollViewDelegate;
}
@property(nonatomic, assign)id<ImageFlowScrollViewDelegate> imageFlowScrollViewDelegate;
- (id)initWithFrame:(CGRect)frame imageArray:(NSArray *) anArray;
- (void)focusImageAtIndex:(NSInteger) index;
@end
@protocol ImageFlowScrollViewDelegate<NSObject>
@optional
- (void)imageFlow:(ImageFlowScrollView *)sender didFocusObjectAtIndex: (NSInteger) index;
- (void)imageFlow:(ImageFlowScrollView *)sender didSelectObjectAtIndex: (NSInteger) index;
@end
これを行うと、私は
警告:プロトコル'ImageFlowScrollViewDelegate'の定義が見つかりません
私はそれを使用して修正することができます:
#import "ImageFlowScrollView.h"
@interface IMDBViewController : UIViewController<ImageFlowScrollViewDelegate> {
NSMutableArray *characters;
UILabel *actorName;
}
しかし、なぜ前方宣言アプローチが私に警告を与えているのか知りたいです。