我正在导入文件" FieldActivityViewController.h" 。但是显示错误
" /用户/ rupeshnandha /下载/ AQMD Release 3 / Classes / InputChoice.h:22:0 期望的说明符 - 限定符列表 之前' FieldActivityViewController' 在/ Users / rupeshnandha / Downloads / AQMD Release 3 / Classes / InputChoice.h"
代码编写于" InputChoice.h"
#import "FieldActivityViewController.h"
@protocol InputChoiceProtocol <NSObject>
@required
-(void) inputChoiceSelectedIndex :(int) index;
@end
@interface InputChoice : UIViewController {
//NSString *keyString;
FieldActivityViewController *field_act;
NSMutableArray *selectionArray;
IBOutlet UITableView *table;
NSObject<InputChoiceProtocol> *delegate;
// IBOutlet UIPickerView *picker;
}
@property (nonatomic,retain) NSArray *selectionArray;
@property (nonatomic,retain) FieldActivityViewController *field_act;
@property (nonatomic,retain) NSObject<InputChoiceProtocol> *delegate;
@end
答案 0 :(得分:2)
在.h文件中导入应用程序类不是一个好习惯。
尝试使用转发类声明并导入FieldActivityViewController
.h
文件
在@class FieldActivityViewController;
声明的位置使用前瞻性声明 import
。
答案 1 :(得分:1)
使用@class FieldActivityViewController
答案 2 :(得分:1)
最可能的原因是你有一个循环依赖。 InputChoice.h
导入FieldActivityViewController.h
和FieldActivityViewController.h
导入InputChoice.h
(不一定是直接)。
最佳解决方案是将导入文件移出.m
文件并放入
@class FieldActivityViewController;
<{1>}和中的
InputChoice.h
<{1>}中的(或其中包含@class InputChoice
的标题。