Swift 默认重载不可用 - SCNReferenceNode(名为 : ) is not found

标签 swift overloading scenekit arkit scnnode

我对 Xcode 比较陌生。

想知道两个具有相同代码的文件如何产生两个截然不同的构建结果。第一个是从 Apple 的“创建基于面部的 AR 体验”示例代码下载的,第二个是我的项目的实现。我已经尝试了所有我能想到的;重建、清理、重新安装、重新启动....甚至从 Apple 的示例(如图所示)复制了准确​​的代码,但仍然失败。似乎是一个错误使 SCNReferenceNode 在我的项目中无法正常工作(右侧)。这两个文件之前都运行良好。我尝试用 SCNReferenceNode(url: ) 结合 Bundle.main.url(forResource: withExtension: ) 替换代码并显示相同的错误。这可能是相关的;加载项目时,似乎缺少一些文档(在 Xcode 中以红色突出显示),尽管它们本身位于物理文件中。我附上了并排比较的截图;如您所见,相同但仍然是错误。关于可能导致此问题的任何想法?

截图:This is a side by side comparison of the Apple sample code and my code - now the same..

最佳答案

如果你看一下 Utilites.swift 文件,Apple 已经为 SCNReferenceNode 添加了一个扩展,它添加了一个方便的初始化函数。

extension SCNReferenceNode {
    convenience init(named resourceName: String, loadImmediately: Bool = true) {
        let url = Bundle.main.url(forResource: resourceName, withExtension: "scn", subdirectory: "Models.scnassets")!
        self.init(url: url)!
        if loadImmediately {
            self.load()
        }
    }
}

关于Swift 默认重载不可用 - SCNReferenceNode(名为 : ) is not found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55271080/

相关文章:

swift - Scene Kit Swift 节点多次旋转

ios - 仅用一个旋转轴将 SCNNode 定位在相机前面

iOS场景包: rotate node to look at another node

ios - HomeKit - 当我从后台回到前台时,如何更新配件的 isReachable 值?

java - 我如何能够从不继承自该类的类访问 protected 方法?

java - 方法重载 - 引用不明确

java - 可变参数函数歧义

ios - MDCTextField 中的属性文本不起作用

ios - 了解 Swift/Sprite-Kit 崩溃

ios - 使用 Accelerate 框架 32 位与 64 位在 swift 中进行矩阵乘法