“找不到名为ViewController的类的任何信息”

自从我开始使用Xcode(4.6.3)以来,这个bug已经让我疯狂了。 每当我尝试链接一个Storyboard项目到我的代码,我得到错误“找不到任何信息的类名为ViewController”。 这也发生在自定义类中。 我已经尝试删除委托数据,我已经尝试删除和重新添加的类,我已经尝试重新启动Xcode,我已经尝试重新安装Xcode。 我无法按住Ctrl拖动来创build我的任何项目中的连接,无论什么类。 全新的模板应用程序也会出现同样的问题。 如果我手动键入代码,然后按住Ctrl键,我可以build立一个工作连接,但我不能自动添加它。 目前在互联网上找不到的东西已经有所帮助。 任何指针?

为我解决这个问题实际上是从项目中删除类。

脚步:

  1. 在项目文件浏览器(左侧面板)中find类,然后右键单击 – >删除
  2. 删除参考 (不要移动到垃圾,因为你会失去class级的好)
  3. 右键单击包含类的文件夹 – >将文件添加到…
  4. find刚在文件系统中删除的类

这似乎迫使Xcode将课程链接回故事板。

注意:对于我来说,以下是不起作用的:

  • closuresXcode
  • 清理项目
  • 从故事板中删除类名并重新input

我认为这是苹果方面的一个错误

如果有人仍然对此感到沮丧,有一个窍门可以使事情顺利进行。

我所做的是手动input到我的课,例如: @IBOutlet weak var someView: UIView! ,并从代码拖到IB或故事板中的视图。 在此之后,我可以从IB / Storyboard拖到我的class级进行联系,助理编辑在“自动”等中识别class级。

每次工作。

刚刚重新启动您的Xcode …这对我的作品!

对我来说,将它们从您的目标成员中删除右列,并再次添加他们的伎俩 在这里输入图像说明

某些时候,Xcode的确是因为VC没有引用类文件。 这个简单的解决scheme是:手动写下面给出的属性。

class YourClassName {

  @IBOutlet weak var YourTableName: UITableView! 

}

这将在@IBOutlet之前创build一个空的链接标志,在助理编辑器中打开您的项目,然后单击链接标志 在这里输入图像说明 并拖到你想连接的视图(我已经连接到TableView)。 这就是它。 享受快乐编码!

下面的步骤为我工作希望也适用于你

1-closuresXcode后,您需要重新打开项目。

2-等待索引项目文件

3-检查它是否工作

4-如果仍然没有工作,按照第5步,如果不满意你:)

5-清理并build立您的项目目标

在这里输入图像说明

我试了一切,它没有工作,所以对我来说,工作是:

  • 清理生成文件夹和项目。
  • 打开项目(窗口 – >项目)
  • 在列表中find您的项目并删除派生数据
  • closuresXCode
  • 重新启动计算机(不select重新打开窗口)
  • 运行XCode
  • 工作!

我的所有视图控制器都没有被识别,所以删除所有文件并重新添加不是一个选项,因为这是一个大项目。

到目前为止,我必须结合几个答案:

  1. 从故事板中删除自定义类的名称。

(点击故事板视图控制器左上方的黄色button – >进入身份检查器(选项+命令+ 3) – >删除顶部的自定义类名称)

  1. 删除对视图控制器文件的引用。

(右键单击文件 – >删除 – >删除引用)

  1. 将视图控制器文件添加回项目。

(右键单击文件所在的文件夹 – >“添加文件到[项目]”)

  1. 将自定义类名添加回故事板。

如果人们尝试上述方法,事情仍然没有起作用,那么奇怪的技巧就是在大量的空白处添加出口。 如果在你添加的行的上面或下面没有其他行,它就可以工作。 奇怪,但它的工作!

对我来说有效的是,不是将连接从button拖到代码上,而是:

  1. 点击所需的故事板项目。
  2. 打开连接检查器(右侧面板)
  3. 从+圆圈拖动到代码区域。 像这样:

以这种方式链接我的代码之后,它从此后正常工作。

我只是在2017年4月与XCode 8有这个问题

通过代码简单地创build一个sockets,并编译修复它。 例如:

 @IBOutlet weak var containerViewHeight: NSLayoutConstraint! 

你必须爱XCode …

我尝试了所有这些答案,对我来说问题是与Xcode不能索引文件。 我通过简单地退出Xcode并重新打开项目来解决这个问题。 当然,我尝试了所有的上述解决scheme后,做到了这一点:

产品>清洁(Command – Shift – K)为我修好了!

这是我为解决这个问题所做的最简单的一步。

  1. 我清理这个项目
  2. 在视图控制器中拖动一个新button。
  3. build立这个项目。
  4. 将新拖动的button连接到类(出口或动作)。
  5. 那么瞧! 现在可以连接其他网点了!

在storyBoard中selectViewController,删除右侧面板 /“Customer class”/“class”中的当前值,然后重新添加控件类(types:“SampleViewController”…),进入。 – >那为我工作

根据我的testing经验,如果您删除了一个在Xcode中关联的类,而不是再次添加文件,则会发生此问题。

通常当这发生在我身上时,我还没有保存这个类的代码。 只是跳到代码并打cmd + s,它往往解决了问题的正确方法。

我会尝试重新制作有问题的.m和.h文件,并给它们一个原始的名称,而不是像“ViewController”那样的通用名称。 尝试更多的东西,你想要什么文件的行,结束在视图控制器(即“PizzaDecoraterViewController”)

然后select你想连接到这些文件的ViewController。 确保你select了ViewController,而不仅仅是一个对象。 点击底部的黑条(具有“First Responder”和“Exit”图标的那个)。 整个ViewController应该是蓝色的。 然后转到Identity Inspector中的Custom Class部分,在第一个字段中应该看到一个灰色的“UIViewController”。 在该字段中,input你希望连接到的.h或.m文件的名称(开始inputPizzaDecorator …,它应该做一些自动完成的事情)。 然后按ENTER键。

当您打开助手编辑器时,请确保您正在尝试拖放的文件实际上是正确的文件。

如果你做了上面所说的一切,那么它应该工作。

删除文件(只有引用)并再次添加文件。

那么在我的情况下,工作的东西(这是一个怪异的怪异,但工作)是以下几点:

尝试添加一个数据源(例如,像UITableViewDataSource一样的ViewController扩展)。 Xcode将尝试重新加载ViewController。 然后我写了一些协议的方法(一开始Xcode没有自动完成这些方法,但手动写出来),然后我添加了IBOutlets,最后删除了数据源。

例:

 class TestViewController:UIViewController{ // This viewController presents “Could not find any information for class named ViewController” } extension TestViewController:UITableViewDataSource{ //Add Some methods of the protocol, Xcode will try to autocomplete and then it's going to reload the class, from then you can add your IBOulets / Actions .. And remove this extension if you don't need it otherwise. } 

对我来说,我指定了一个自定义类的视图无法被界面构build器编译。 它被标记@IBDesignable

删除@IBDesignable ,然后添加我的网点,然后标记为@IBDesignable解决了我的情况下的问题。

试试这个吧

 rm -rf ~/Library/Caches/com.apple.dt.Xcode defaults delete com.apple.dt.Xcode IDEIndexDisable defaults write com.apple.dt.Xcode IDEIndexEnable 1 

从finder xcode检查是否closures。 强制退出xcode并重新启动。 产品>清洁

在我的情况下,这是因为XCode索引进程已经停止运行。 重新启动mac修复它。

好吧,大家看到几乎所有的最佳答案,没有为我工作。

所以对我来说有以下的作用:

  1. 复制XCode项目的Derived Data地址。 这可以使用以下方法完成:

Xcode -> Preferences -> Location Tab -> Derived Data

  1. Close Xcode

  2. 现在转到派生的数据位置,并在那里删除项目的文件夹。

现在打开Xcode和Voila!

对我来说,以下工作:

  1. 做一个“干净的”和一个“干净的生成文件夹”(按“选项”在产品菜单上获得“干净的生成文件夹”命令

  2. 停止XCode

  3. 在terminal中,转到派生的数据文件夹:

    (/用户//库/开发商/ Xcode中/ DerivedData)

删除您的项目的派生数据目录。

  1. 在空中挥舞着死鸡

  2. 启动XCode

正如我评论@ ChrisHarrison的答案,这些东西不适合我,但删除导出的数据,因为我得到它的工作删除派生数据在https://stackoverflow.com/a/16182672/1449799

试着删除项目的派生数据