简体   繁体   English

文件导入问题

[英]Problem in Importing File

I am importing File "FieldActivityViewController.h" .But Showing an error我正在导入文件“FieldActivityViewController.h” 。但显示错误

"/Users/rupeshnandha/Downloads/AQMD Release 3/Classes/InputChoice.h:22:0 Expected specifier-qualifier-list before 'FieldActivityViewController' in /Users/rupeshnandha/Downloads/AQMD Release 3/Classes/InputChoice.h" “/Users/rupeshnandha/Downloads/AQMD Release 3/Classes/InputChoice.h:22:0 /Users/rupeshnandha/Downloads/AQMD Release 3/Classes/InputChoice.h 中‘FieldActivityViewController’之前的预期说明符-限定符列表”

As is a code Written in "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

It's not the good practice to import the application classes in.h files.在.h 文件中导入应用程序类不是一个好习惯。

Try with forward class declaration and import you FieldActivityViewController file in .h尝试使用前向 class 声明并将您的FieldActivityViewController文件导入.h

Use with forward class declaration @class FieldActivityViewController;前向 class 声明一起使用@class FieldActivityViewController; at the place of your import statement.在你的import声明的地方。

use @class FieldActivityViewController使用@class FieldActivityViewController

Most likely cause is that you have a circular dependency.最可能的原因是您有循环依赖。 InputChoice.h imports FieldActivityViewController.h and FieldActivityViewController.h imports InputChoice.h (not necessarily directly). InputChoice.h导入FieldActivityViewController.hFieldActivityViewController.h导入InputChoice.h (不一定直接)。

The best solution is to move the imports out of the header file into the .m file and put最好的解决方案是将导入从 header 文件中移出到.m文件中并放入

@class FieldActivityViewController; 

in InputChoice.h andInputChoice.h

@class InputChoice

in FieldActivityViewController.h (or whichever header has InputChoic.h in it.FieldActivityViewController.h (或 header 中包含InputChoic.h的任何一个。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM