簡體   English   中英

文件導入問題

[英]Problem in Importing File

我正在導入文件“FieldActivityViewController.h” 。但顯示錯誤

“/Users/rupeshnandha/Downloads/AQMD Release 3/Classes/InputChoice.h:22:0 /Users/rupeshnandha/Downloads/AQMD Release 3/Classes/InputChoice.h 中‘FieldActivityViewController’之前的預期說明符-限定符列表”

正如“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

在.h 文件中導入應用程序類不是一個好習慣。

嘗試使用前向 class 聲明並將您的FieldActivityViewController文件導入.h

前向 class 聲明一起使用@class FieldActivityViewController; 在你的import聲明的地方。

使用@class FieldActivityViewController

最可能的原因是您有循環依賴。 InputChoice.h導入FieldActivityViewController.hFieldActivityViewController.h導入InputChoice.h (不一定直接)。

最好的解決方案是將導入從 header 文件中移出到.m文件中並放入

@class FieldActivityViewController; 

InputChoice.h

@class InputChoice

FieldActivityViewController.h (或 header 中包含InputChoic.h的任何一個。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM