したがって、クラスの名前を入力するとcue
、何を書くかの提案としてXCodeに表示され、ヘッダーをインポートすると同じことが起こります(XCodeは、入力時にインポートしているヘッダーを提案します)したがって、ファイルアドレスは間違いなく正しいです。それでも、入力した型が存在しないというエラーが表示されるか、メソッドで型名が必要であることがわかります。
クラス インターフェイス:
#import <Foundation/Foundation.h>
#import "CueTableCell.h"
#import "CueList.h"
typedef enum {
none,
immediate,
after,
afterWait,
} CueType;
@interface Cue : NSObject
@property CueType cueType;
@property NSString* title;
@property float wait;
@property (strong, nonatomic) Cue* nextCue;
@property CueTableCell* cell;
@property CueList* list;
-(id) initWithTitle: (NSString*) title cueType: (CueType) type list: (CueList*) list cell: (CueTableCell*) cell wait: (float) wait thenCall: (Cue*) nextCue ;
-(void) fire; //Should not be async.
-(void) reset; //Pauses and resets everything
-(void) callNext;
-(void) selected;
-(void) select;
@end
Cue.h ファイルを認識しない CueTableCell ファイル:
#import "Cue.h"
@interface CueTableCell : UITableViewCell
-(void) updateBarAt: (float) playHead;
-(void) updateBarIncrease: (float) by;
- (void)setTitle:(NSString *)title wait: (float) wait fadeOut: (float) fadeOut fadeIn: (float) fadeIn playFor: (float) playFor;
@property (nonatomic, weak) IBOutlet UILabel* titleLabel;
@property (nonatomic, weak) IBOutlet UILabel* waitLabel;
@property (nonatomic, weak) IBOutlet UILabel* fadeInLabel;
@property (nonatomic, weak) IBOutlet UILabel* fadeOutLabel;
@property (nonatomic, weak) IBOutlet UILabel* playForLabel;
@property (nonatomic, strong) NSString* title;
@property (nonatomic) float wait;
@property (nonatomic) float fadeIn;
@property (nonatomic) float fadeOut;
@property (nonatomic) float playFor;
@property (nonatomic, weak) Cue* cue; # <---- Get an error that Cue is not a type
@end
For some reason, the compiler recognizes Cue importing CueTableCell, but not the other way around. Cue is at the top of a class hierarchy, so other files clearly are able to import it. I've tried changing the group and file location of CueTableCell, and nothing helps.