如何解决Xcode Playgrounds:源文件无法相互访问
我正在 Xcode 中创建一个游乐场,但我不明白为什么“源”文件不能相互通信。我正在使用 SpriteKit,这意味着每个场景有一个 swift 文件是理想的,在我的情况下,我每个级别有一个场景。我无法使用快速解决方法并将所有内容添加到一个大文件中……必须有更好的方法。两个 swift 文件的两个类都是公开的。您应该能够访问它们。谢谢!
当我尝试从一个类 LevelScene 中的另一个类 TitleScene 中的对象时,出现此错误。
之后
let levelScene = LevelScene(fileNamed: "LevelScene")
这种情况发生
Cannot find 'LevelScene' in scope
我知道这篇文章。这个解决方案仍然对我不起作用。
Xcode playgrounds can't access swift files in Sources folder
我使用的是 Xcode 12.4。
谢谢!
解决方法
您需要将每个文件中的所有类/结构声明为 public
。
因此,如果您在文件中定义了这样的结构:
struct Node {
var id: Int
}
你需要像这样声明:
public struct Node {
var id: Int
}
那么你的代码应该可以工作了。您可以在另一个文件中使用一个文件中的结构,只要您将它们声明为 public。类似的概念适用于这些结构/类中的任何函数/方法。即使使用此解决方案,您也可能会发现 Xcode 12.4 抱怨在范围内找不到类型。我相信,这是一个已知的错误。我的 Xcode 12.4 也有同样的错误。即使出现该错误,我也能够构建和运行代码。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。