【问题标题】:Use of undeclared identifier for "nil"对“nil”使用未声明的标识符
【发布时间】:2015-08-19 23:23:42
【问题描述】:

我刚刚在我的一个代码文件夹中替换了所有NULLnil 的引用。但看起来显然出了什么问题。它现在为代码中的每个 nil 显示“使用未声明的标识符”错误。

我已经清理了 Derived Data 文件夹。 重新启动 xCode。 清理缓存并尝试重建多次。 谁能解释一下出了什么问题。

P.S.:在 OSX El Capitan Beta 上使用 xCode 7.0 beta 4。

编辑 1:也许截图有帮助:

【问题讨论】:

    标签: objective-c xcode null beta undeclared-identifier


    【解决方案1】:

    nil 仅适用于 Objective-C 或 Objective-C++ 代码中的对象指针。它不适用于非对象指针或非 Objective-C(++) 代码。对于这些,您应该使用NULLnullptr

    (在 Objective-C(++) 中,您应该使用 Nil 和大写“N”作为 class 指针。)

    【讨论】:

    • 是的,我知道。但问题是整个代码都在objective-c中。在文本替换之后,它不仅没有构建主目标(进行更改的地方),而且还构建了工作区中 CocoaPods 项目的子目标。会是什么?如何解决?
    • 您没有在问题中逐字完整地引用错误。有没有什么 #defined NULL 你现在无意中更改为 #define nil 或类似的东西?做了什么#undefNULL 现在是#undef-ing nil
    • 我记得NULL是宏,所以查了一下。
    • 我添加了它的外观截图。也许它会帮助你帮助我)
    • 您能否分享以下文件中的文本:Simulator iOS9 -> usr/include -> MacTypes.h。我在第 89 行有一个错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多