导入文件时出现问题

时间:2011-06-28 13:50:08

标签: iphone objective-c

我正在导入文件" 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

3 个答案:

答案 0 :(得分:2)

在.h文件中导入应用程序类不是一个好习惯。

尝试使用转发类声明并导入FieldActivityViewController

中的.h文件

@class FieldActivityViewController;声明的位置使用前瞻性声明 import

答案 1 :(得分:1)

使用@class FieldActivityViewController

答案 2 :(得分:1)

最可能的原因是你有一个循环依赖。 InputChoice.h导入FieldActivityViewController.hFieldActivityViewController.h导入InputChoice.h(不一定是直接)。

最佳解决方案是将导入文件移出.m文件并放入

@class FieldActivityViewController; 
<{1>}和

中的

InputChoice.h
<{1>}中的

(或其中包含@class InputChoice 的标题。