【问题标题】:files in Sources folder cannot access the other files' public classes or functions in Xcode playgroundSources 文件夹中的文件无法访问 Xcode 游乐场中其他文件的公共类或函数
【发布时间】:2021-04-16 04:52:50
【问题描述】:

在我的一生中,我无法在任何地方找到解决方案,所以在我看来这是一个 Xcode 游乐场错误。

在 Sources 文件夹中,尽管我将一个类声明为 public,但当我尝试从单独的文件(在 Sources 文件夹中)访问该类时,编译器会给我一条错误消息,指出它在范围内找不到该类.

但是,当我运行 Playground 并忽略该消息时,程序会构建并运行成功,并且错误消息会消失,直到我开始修改代码。

奇怪的是,它不会发生在 App 项目中;它只发生在操场上。

我用一个名为“test”的游乐场文件做了一个简单的演示,并截图了发生的事情,你可以在下面的附图中看到,请指教!非常感谢!

尝试过的解决方案包括:

  1. 重启 Xcode
  2. 重启 Mac
  3. 删除 Xcode 并重新安装 Xcode

在范围内找不到 Person 类,尽管它被标记为 public

但是 Person 类被标记为 public

代码编译成功

运行 Playground 后错误消失,但我修改后立即返回

【问题讨论】:

    标签: ios swift xcode macos xcplayground


    【解决方案1】:

    奇怪的是,它不会发生在 App 项目中;它只发生在操场上。

    其实那部分正是奇怪的。应用程序项目是可预测的。游乐场是魔鬼的杰作,很容易让它们行为不端。

    您所看到的肯定是一个错误,尤其是因为它不能被其他人轻易复制。在我的机器上,没有错误消息,一切正常:

    您可以尝试将import test_Sources 添加到麻烦的文件中,但我不能保证它会有所作为。我真正建议你避免去游乐场。

    【讨论】:

    • 感谢您的及时回复!我不确定作为可测试模块导入的语法是什么,会是 "@testable" 吗?并指出,关于操场是一团乱七八糟的东西……什么可以代替操场?对于我正在阅读的大多数 swift 书籍,我都需要使用 Playground,谢谢!
    猜你喜欢
    • 2018-07-14
    • 1970-01-01
    • 2013-02-06
    • 2021-02-10
    • 2016-12-18
    • 1970-01-01
    • 1970-01-01
    • 2011-01-30
    • 1970-01-01
    相关资源
    最近更新 更多