Objective c 未知类<;XXX>;在界面生成器文件中

Objective c 未知类<;XXX>;在界面生成器文件中,objective-c,xcode,xib,Objective C,Xcode,Xib,嗨,最初我有一个应用程序,其中应用程序委托将初始视图控制器定义为其他类的.xib。我删除了这个类、它的头和.xib,因为我希望初始视图控制器是另一个类的。 在appdelegate类中,我从我不想要的类中删除了原始引用并键入了 self.window.rootViewController = [[NewClass alloc] initWithNibName:@"NewView" bundle:nil]; 这就像一种魅力,因为最初的视图现在是“NewView”。然而,控制台给了我一个上面标题的

嗨,最初我有一个应用程序,其中应用程序委托将初始视图控制器定义为其他类的.xib。我删除了这个类、它的头和.xib,因为我希望初始视图控制器是另一个类的。 在appdelegate类中,我从我不想要的类中删除了原始引用并键入了

self.window.rootViewController = [[NewClass alloc] initWithNibName:@"NewView" bundle:nil];
这就像一种魅力,因为最初的视图现在是“NewView”。然而,控制台给了我一个上面标题的错误。我搜索了被删除类的整个项目,没有对它的引用。此外,我甚至删除了实际的文件。此外,我还删除了模拟器的缓存


提前感谢。

错误是说IB中有一个未知类。所以请查看所有的xib/故事板。我几乎可以肯定一个视图、控制器等。。。(无论您的子类是什么),都是使用该类声明的


在所有文件或代码中搜索该类不会有帮助,因为这是一个接口生成器错误,所以请检查一下。

我在源代码目录中对“RootViewController”进行了递归grep,匹配项在应用程序的.pbxproj文件中多次出现。我删除了包含字符串的行,但仍然得到错误。我再次刷新,没有匹配项。
RootViewController
是您删除的类的名称吗?是的,源、头和xib都有前缀。我不完全确定您尝试了什么,但是如果您仍然得到错误,我猜它可能仍然位于.xib中的某个位置,或者挂在其数据中的某个位置。您还可以尝试清除派生数据。这可能会有帮助(组织者->项目->选择项目->派生数据-删除)!几天后,我终于明白了。如上所述,Interface Builder文件设置为MainWindow。因为,我删除了这个链接,我以为链接会断开,我的主笔尖就是我设置的那个。在info.p-list中更改此项返回错误。因此,我将MainWindow.xib放回原处,却发现它将“RootViewController”作为导航控制器的类。我将类更改为我想要的类,现在没有错误!谢谢