Xcode показывает Unknown type name 'NSString'
и другие ошибки при редактировании кодов.
В моем проекте есть коды C и Obj-C,Хотя эти ошибки отображаются при редактировании, коды могут работать нормально в симуляторе или iPhone. И «благодаря» этой проблеме Xcode не может автоматически завершать код.
Что я пробовал:
- Выйти из Xcode и перезапустить мой Mac на время;
- Изменил все файлы .c в .m;
- Изменены все типы файлов .c в
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];
}
Я объясню свой вопрос более четко. Перед обновлением системы я уже включил / import <UIKit/UIKit.h>
<Foundation/Foundation.h>
в файл .h или .m. Странно, что я НИКОГДА не изменяю ЛЮБЫЕ коды, но обновляю систему до последней версии, а затем сообщение об ошибке исчезает.
Обратите внимание, что:
- Несмотря на сообщения об ошибках, проект может работать нормально. Я не думаю, что отсутствует .h файл, код по-прежнему может работать нормально.
- Я использую FFMpeg в моем проекте, и в нем есть какой-то файл .c. Я пытаюсь изменить этот файл .c в файл .m, но не работает. Я пишу коды Objective-C в файле .m (как показано на рисунке), а не в файле .c.
Интересно, это ошибка в Xcode 11 или в системе ...