XCode 6:无法将任何IBOutlet连接到ViewController

升级到Xcode 6后,我打开了一个旧的项目(包含一个子项目,所以它有很多的目标),我注意到从故事板ViewContoller没有链接到相对对象的作品。

例如,我有一个ViewController与一个TableView里面,现在我不能做任何东西,因为连接丢失,我什至不能重新定义一个新的IBOutlet VC中,因为VC中的故事板的箭头赢得不要连接任何东西。

更清楚的是:

截图

该类在“自定义类”部分中定义,所以我找不到问题

截图

我该怎么办? 顺便说一句,我使用obj – C不快,我发现了一些相关的答案,但所有关于迅速。

谢谢

您还可以看到,父视图和自定义类之间的链接被破坏(不再可见),这是一个巨大的问题。

我和我正在处理的应用程序有完全相同的问题,将XCode从5.xxx更新到6.1。 解决方法,我工作是删除每个视图控制器的引用,并重新添加到项目中…

面对这个问题的每个人,这都是(烦人的)把戏:

  • 第1步 :select.h和.m视图控制器文件
  • 第2步 :删除这些文件的引用
  • 第3步 :重新将文件添加到您的项目树
  • 第4步 :打开故事板,最终重build项目和微笑

我可以理解这些事情可能会令人厌烦,但它对我来说很有效…希望它能帮助别人!

在故事板层次结构中,select“视图控制器”

在这里输入图像说明

在右窗格Custom Class section Class ,select下拉菜单和所需的视图控制器。

在这里输入图像说明

在尝试将第一个插件添加到新视图时,我在Xcode 6.1.1中遇到了类似的行为。

尝试删除引用,并再次添加文件,如上所述,没有成功。

我find的工作是用手写出新视图的第一个属性。 我刚刚popup:

 @property NSString *temp; 

我可以用正常的方式连接我的网点。 一旦你添加了你的第一个出口,只要删除临时的财产。

希望这可以帮助。

它似乎先打字的sockets(迅速):

 @IBOutlet weak var someViewOutlet: UIView! 

然后从上面的代码工程中将IB从出口拖到最右边的types。

重新启动Xcode解决了这个问题(有时)。 使用Xcode 6.1

也许我可以帮助在我的情况下,问题是viewController.swift文件没有连接到StoryBoard。 解决的办法是点击3个图标(View Controller,First Responder和Exit)旁的故事板上视图的上边框…现在查看Utility Area中的Identity Inspector,在“Custom Class”中select定制视图控制器。

希望这可以帮助。 Xcode很难!

这里的人是适当的解决scheme。

如果您在代码中重命名控制器,则需要更新.xib文件。

我找不到在xcode中这样做的方法,所以这样做:

  1. 用文本编辑器打开.xib文件

  2. <objects>节点中find带有属性placeholderIdentifier="IBFilesOwner"<placeholder>节点,并用您的新控制器名称replacecustomClass="MyOldControllerName"的值: customClass="MyNewControllerName"

所有的IBOutlets将再次正常工作。

感谢大家的评论。

这是Xcode 6 / 6.0.1的一个bug。 下载并安装了6.1版本,问题消失了。

也许尝试从故事板菜单(在你的屏幕截图中)删除sockets,并再次拖动元素。

好的,我们来看看是否缺less模块名称。

  1. 在Storyboard ViewController中,input模块的名称。 (项目名称)

在另一个领域的外面玩。 当你回到模块领域可能会说没有,但现在将有一个下拉菜单项为您的项目名称。

  1. select你的项目名称,看看是否一切都好。

如果还有问题,我会张贴照片。

似乎是一个工作区问题。 尝试从工作区删除项目并重新添加。 这有助于我的情况。

我有这个,影响了我的机器上的所有项目,迅速和客观的C,使我生气了很久。 最后也注意到我无法使用折射器来重命名类。

对我的修复是:

  1. closuresxcode
  2. 删除〜/库/开发/ Xcode / DerivedData(只是自己做这个没有工作!!)
  3. 从包含我所有项目的目录中删除所有项目的所有用户数据。例如/ src(注意这个命令!):

找 。 -name'xcuserdata'-exec rm -rf {} \;

如果您想手动完成,只需对所有项目执行以下操作:删除.xcodeproj / project.xcworkspace / xcuserdata删除.xcodeproj / xcuserdata / .xcuserdatad

  1. 让聚光灯重新索引驱动器所有我的项目(不知道这是否是必需的
  2. 重新启动机器

一切都回到生活中!

我有这个相同的问题。

原来我重命名我的视图控制器类和文件名。 在故事板中,我在右窗格Custom Class – > Class中显示了陈旧的值。 所以IBOutlets没有调整,因为在失踪的class级里没有任何人,这是它期望find定义的网点的地方。

在右侧窗格的“自定义类”字段中填写正确的“视图控制器”类名,可以解决我的问题。

如果在“自定义类”字段中有错误的类名,则XCode需要更加详细。

没有一个解决scheme解决了我的同样的问题…但我解决了:

  • closuresxcode
  • 重命名项目的文件夹
  • 打开xcode

然后网点会再次回来

我希望这个解决scheme对于有同样问题的人来说是正确的

在Xcode 6.3中,我需要closuresXcode并重新启动Mac。 单独重新启动Xcode并不适合我。

我有很长一段时间6.3,我的问题是我正在创build的新项目来testing一些事情。 这次绝对不是升级问题。

我有Xcode 6.3,看到类似的问题。 最后在.h文件中的几个编辑解决了我的问题。 如果你的界面有IBOutlet定义为

 @interface NavigationViewController :UIViewController { IBOutlet UILabel *lblName; } 

将其更改为.m文件并添加@synthesize lblName;

 @interface NavigationViewController :UIViewController { __weak UILabel *lblName; } @property (nonatomic, weak) IBOutlet UILabel *lblName; 

我遇到了同样的问题,没有可用的链接。 我能够修复它的唯一方法是将XIB文件的所有者类更改为“UIViewController”,使链接,然后将其更改回我的预定义的自定义视图控制器类。 链接保持不变,一切都很好。