title: Unknown type name 'NSString' in Xcode 11
body: <p>Xcode shows <code>Unknown type name 'NSString'</code> and other errors when I'm editing codes.</p>
  
  <p><a href="https://i.stack.imgur.com/KeV7v.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/KeV7v.png" alt="Error messages"></a></p>
  
  <p>There are C and Obj-C codes in my project. Though it shows these error when editing, the codes <strong><em>can run normally</em></strong> in the simulator or iPhone. And 'thanks to' the problem Xcode cannot autocomplete code normally. </p>
  
  <p>What I have tried:</p>
  
  <ol>
  <li>Quitted Xcode and restarted my Mac for times;</li>
  <li>Changed all .c file into .m;</li>
  <li>Changed all .c file's type to <code>Objective-C source</code> in Identity and Type.</li>
  </ol>
  
  <p>But none of them work for me.</p>
  
  <p>UPDATE 10/17: After I update my Mac to 10.15, the problems disappeared and everything goes normally. </p>
  
  <p>TLPlayerSubViewController.h</p>
  
  <pre><code>#import &lt;UIKit/UIKit.h&gt;
  
  @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
  
  </code></pre>
  
  <p>TLPlayerSubViewController.m</p>
  
  <pre><code>#import "TLPlayerSubViewController.h"
  #import "TLOverlayView.h"
  #import "TLMovieObject.h"
  
  NSString *const TLSubViewDismissNotification = @"";
  
  @interface TLPlayerSubViewController () &lt;TLOverlayViewDelegate&gt;
  
  @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];
  
  
  }
  </code></pre>
  
  <p>I explain my question more clearly. Before the system update, I have already include/import <code>&lt;UIKit/UIKit.h&gt;</code> <code>&lt;Foundation/Foundation.h&gt;</code> in the .h file or .m file. It is strange that I NEVER modify ANY codes but update the system to the latest version and then the error message disappeared. </p>
  
  <p>Notice that:</p>
  
  <ol>
  <li>Though the error messages shows, the project can run normally. I don't think missing .h file the code can still run normally.</li>
  <li>I use FFMpeg in my project and there are some .c file in it. I try to change THOSE .c file into .m file but no works. I write Objective-C codes in .m file(as the picture shows), not .c file.</li>
  </ol>
  
  <p>I wonder if it is a bug in Xcode 11 or the system...</p>