在Xcode 8.2.1中,我无法将@IBOutlet链接到UI

时间:2017-03-26 19:42:09

标签: ios swift xcode xcode8

当我遵循这个非常简单的程序时,我遇到了一个很大的问题:

  1. 创建新项目
  2. 向UI添加标签
  3. 添加'@IBOutlet var testLabel:UILabel!'到ViewController.swift
  4. 打开并排编辑器
  5. 从@IBOutlet拖到故事板中的标签
  6. 此时你应该在半透明窗口testLabel和view中看到两个选项,但我看到的只是'view'。

    我最近从应用商店更新了Xcode,这是行为开始的时候。我尝试使用Xcode 7的旧机器,程序是合理的,Xcode 7检测到Outlet。

    我在这里遗漏了什么吗?我尝试在第三台机器上安装8.2.1,我遇到了同样的问题。

1 个答案:

答案 0 :(得分:1)

每当你获得片状Xcode行为时,谨慎的做法是清空"派生数据"文件夹:

  • 找到派生数据文件夹(可以在"首选项"" Xcode"菜单中找到,然后选择"位置"标签);
  • 退出Xcode;
  • 清空派生数据文件夹;和
  • 重启Xcode。

如果没有这样做,有时重复这个过程,但在重新启动Xcode之前重新启动也会这样做。

对于它的价值,虽然无法重现您的具体问题,但我确实遇到了一个相关的问题:如果我手动编写@IBAction然后从事件拖动按钮(例如"在内部触摸"),它不会总是识别我的@IBAction。但是如果我拖到我的代码的空白部分,让IB创建自己的@IBAction并给它一个名字(可以与我手动编写的@IBAction相同),然后将其删除'模仿@IBAction,然后认出我的,很好。在这个连接过程中肯定有一点点瑕疵。