【问题标题】:Use of unresolved identifier false warning Swift 3 xcode使用未解析的标识符错误警告Swift 3 xcode
【发布时间】:2017-08-18 17:40:48
【问题描述】:

所以我编辑了我的帖子以使其更加清晰。我是 xcode 和 Swift 3 的新手,我正面临一个奇怪的问题。我的项目包含几个 swift 文件。我将所有简单的常用方法都放在 Utils.swift 中,例如简单的字符串函数等。很多天以来我都没有遇到任何问题,但是过了一段时间后,xcode 一直在抱怨我使用方法的所有文件中都有红色感叹号如果我从 Utils.swift 文件中调用我的方法:“使用未解析的标识符 'xxx'”。

// debug is a bool variable declared before

Utils.swift:

func log(_ message: String) {
    if debug {
        print(message)
    }
}

ViewController.swift:

log("Error happened")

这会给出错误“使用未解析的标识符'Log'”。显然该功能在那里,所以我不明白为什么在编码过程中会收到带有感叹号的红色警告,但是当我单击构建时,它是成功的,并且它运行完美并且警告消失了。一旦我再次开始在代码区域中输入,红色错误就会回来。如果我再次构建它,它会再次成功。这对我来说没有任何意义。

我认为这可能是缓存问题,xcode live issues 功能无法识别我的 Utils.swift 或类似的东西......所以我清理了构建文件夹(cmd + shift + option + K),我清理了项目(产品>清洁),重新启动xcode,重新启动Mac,删除Utils.swift,将Utils.swift重新添加到项目中,但在编码期间无法摆脱这些错误警告,但如果构建项目就可以了。我在其他项目中没有这个问题。有什么想法吗?

【问题讨论】:

  • 很简单,您可以将代码粘贴到此处,看看您无法弄清楚的问题是什么..
  • 我认为这与我在帖子中描述的问题无关。代码构建完美。一定是某种设定,或者……我不知道。但是对于请求,我用代码更新了我的问题。这会给出错误“使用未解析的标识符'Log'”。显然该功能在那里,所以我不明白为什么在编码过程中会收到带有感叹号的红色警告,但是当我单击构建时,它是成功的,并且运行良好。当我再次开始输入代码时,红色错误又回来了。
  • 作为 Swift 新手,请习惯函数/方法名称、变量/属性名称和枚举大小写以小写字母开头的命名约定。
  • 是的,谢谢,我在我的代码中更正了它。但这并不能解决问题,同样的警告......
  • 你的模块(应用程序)的名称是什么?尝试命名您的 log 呼叫。例如,如果您的应用名为 MyApp,请说 MyApp.Log("Error happened")MyApp.log("Error happened") 或其他。

标签: ios swift xcode macos swift3


【解决方案1】:

好的,我自己找到了答案。单击 swift 文件(现在是 Utils.swift),我必须在文件检查器中选择“相对于组的位置”并设置适当的目标成员资格。

奇怪的是,尽管之前的设置“错误”,但构建成功完成,但它在代码区域出现错误。

【讨论】:

    猜你喜欢
    • 2017-02-10
    • 2017-04-10
    • 1970-01-01
    • 1970-01-01
    • 2017-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多