Xcode突然显示了这个错误:"未知类型名称"
我来解释一下:我的故事视图控制器. h:
#import <UIKit/UIKit.h>
#import "Stories.h"
@interface StoriesViewController : UIViewController <UITextViewDelegate>
@property (strong) Stories *story; //Here it goes- "Unknown type name `Stories`"
@property (weak) IBOutlet UITextView *storyView;
@end
在我的故事中。h:
#import <UIKit/UIKit.h>
#import "ViewController.h"
@interface Stories : UIDocument
@property (strong) NSString * storyContent;
@end
又一次,出乎意料。
先谢了。
编辑:
在我的ViewController. h中:
#import <UIKit/UIKit.h>
#import "Stories.h"
#import "StoriesViewController.h"
#import "StoriesPickerViewController.h"
#import <QuartzCore/QuartzCore.h>
@interface ViewController : UIViewController <UITextFieldDelegate, UIAlertViewDelegate> {
}
@end
NB@class抛出大量ARC问题。
我已经删除了对ViewController.h的无用引用,成功了,解决了!
2条答案
按热度按时间35g0bw711#
您遇到了circular reference问题。
实际情况是,当您加载
ViewController
时,它会经历导入、加载Stories.h
、加载导入,然后返回ViewController.h
,因此您陷入了无限循环。要么删除其中一个冲突的导入,要么使用forward class declaration(该示例是针对C++的,有关Objective-C的示例,请参见here)
pn9klfpd2#
经过这么多小时的花费,我发现,我已经导入了一些文件在.h头文件,这是导致导入递归。
如何修复-我在.m文件中移动了相同的导入,构建成功。
建议-避免在.h文件中导入类实现。
希望这有帮助!