我在编辑代码时Xcode显示Unknown type name 'NSString'
和其他错误。
我的项目中有C和Obj-C代码。尽管在编辑时会显示这些错误,但代码 可以在模拟器或iPhone中正常运行 。并且“感谢”问题Xcode无法正常自动完成代码。
我尝试过的事情:
Objective-C source
。但是他们都不适合我。
更新10/17:将Mac更新到10.15之后,问题消失了,一切正常。
TLPlayerSubViewController.h
#import <UIKit/UIKit.h>
@class TLMovieObject;
@class TLOverlayView;
NS_ASSUME_NONNULL_BEGIN
extern NSString *const TLSubViewDismissNotification;
@interface TLPlayerSubViewController : UIViewController
@property (strong, nonatomic) TLOverlayView *playerView;
@property (strong, nonatomic) TLMovieObject *video;
- (void)playVideo;
@end
NS_ASSUME_NONNULL_END
TLPlayerSubViewController.m
#import "TLPlayerSubViewController.h"
#import "TLOverlayView.h"
#import "TLMovieObject.h"
NSString *const TLSubViewDismissNotification = @"";
@interface TLPlayerSubViewController () <TLOverlayViewDelegate>
@end
@implementation TLPlayerSubViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
self.view.backgroundColor = [UIColor greenColor];
[self.view addSubview:self.playerView];
}
我更清楚地解释了我的问题。在系统更新之前,我已经在.h文件或.m文件中包含/导入<UIKit/UIKit.h>
<Foundation/Foundation.h>
。我从不修改任何代码,而是将系统更新到最新版本,然后错误消息消失了,这很奇怪。
注意:
我想知道这是否是Xcode 11或系统中的错误...
答案 0 :(得分:0)
首先,如果您的代码是Objective-C,并且其文件扩展名应为.m(大多数情况下)
对于NSString和带有NS前缀的NSString,请检查源代码文件是否具有诸如#import <Foundation/Foundation.h>
和#import <UIKit/UIKit.h>
之类的标题,并检查项目是否具有这些链接库。
NSString和基本类定义的基础
UIKit用于UI前缀类定义。例如UIViewController(具有view属性)
答案 1 :(得分:0)
我遇到了同样的问题。
macOS Catalina开发人员Beta 11 Xcode 11
对我的同事来说很好,但对我而言却不行。尝试重新安装xcode,清除缓存等,但是没有运气。