【问题标题】:Swift Compiler Error: Use of unresolved identifier 'name'Swift 编译器错误:使用未解析的标识符“名称”
【发布时间】:2014-11-23 19:11:14
【问题描述】:

我尝试包含一个名为“name”的类,但出现错误:

Swift Compiler Error: Use of unresolved identifier 'name'

该类存在且不包含任何编译错误。

【问题讨论】:

  • 一段代码可以准确显示您如何声明该类将非常有帮助,尤其是对于其他面临同样问题的人。

标签: ios xcode swift compiler-errors ios9


【解决方案1】:

问题解决了

目标 -> 构建阶段 -> 编译源 -> 添加类文件

【讨论】:

    【解决方案2】:

    在列表中再添加一个。

    1. 如果它是另一个框架的一部分,请确保“仅构建活动架构”设置相同。

    【讨论】:

    • 使用该设置,您将无法发布该应用程序。确保使用支持您的架构的框架。
    • 不正确。只要“发布”的“仅构建活动架构”设置为“否”,您就可以发布应用程序。当我的框架将“调试”设置为“是”但我的应用程序将“调试”设置为“否”时,我遇到了“使用未解析的标识符”错误。
    【解决方案3】:

    我也有这个问题。我试图在 2 类的代码中引用 1 类。我的问题是 2 类在 A 和 B 中具有目标成员资格,而 1 类在 A 类中只有目标成员资格。

    您可以通过打开实用程序选项卡(Xcode 窗口顶部栏上最右侧的按钮)来解决此问题,并确保在 Target Membership 子部分中为两个类选中相同的框。

    【讨论】:

      【解决方案4】:

      可能存在一些问题。

      1. 其中一个类有一个测试目标,而另一个没有。您甚至必须将所有类包含在测试目标中,或者一个都不包含。

      2. 如果是 Objective C 类,请检查该类是否在 ObjectiveC 桥接头文件中。

      3. 如果它是 NSManagedObject 子类。在类声明前添加@objc(className)

      4. 如果它是不同框架的一部分,请确保类或函数是 public

      【讨论】:

      • 例如,如果一个类有测试目标,而第二个没有
      • 嗯,我只有一个目标,构建目标,但它仍然不起作用。还有更多关于 Vojtech 的提示吗?
      • 这让我发疯了。红色的“错误点”将显示在代码的左侧,错误消息在下方。如果我编译/运行代码——红点就会消失!如果我触摸了文件(在我的例子中是 AppDelegate),红点会重新出现。没有意识到,因为我已将 AppDelegate 包含在单元测试目标中,所以是测试目标而不是应用目标带回了红点。因此,要么将单元测试中使用的例程移动到包含在测试目标中的类中,要么添加其他类也用于单元测试。
      • 我今天遇到了同样的问题,两个班级的目标成员资格相同。然后我取消选中,然后重新检查,两者中的目标成员身份,问题就消失了。
      【解决方案5】:

      我也有这个。您可能会发现您的第一堂课包含在您的测试模块中,而“名称”却没有。简单地说,如果你在测试中包含一个类,那么它引用的每个类都必须在测试中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-01
        • 2016-04-29
        • 1970-01-01
        • 2017-02-10
        • 1970-01-01
        • 2015-05-13
        相关资源
        最近更新 更多