swift - scnScene.write 未将场景写入 .scn 文件

标签 swift xcode scenekit

我正在 SceneKit 中开发一个项目,用户可以更改场景中的对象,并希望能够在用户点击提交按钮时保存场景的状态。在SceneKit的文档中,有一个函数调用write:https://developer.apple.com/documentation/scenekit/scnscene/1523577-write 。但是,当我按照说明使用它时,它不会写入文件。我还使用了文档中所说的文件方案来创建 URL:https://developer.apple.com/documentation/foundation/url 。 这是我的代码。谢谢你的帮助。这对我来说非常新鲜,因此我们将不胜感激任何更多建议。

@IBAction func submitButton(_ sender: UIButton) {
    let scnurl = NSURL.fileURL(withPath: "State.scn")

    if(scnScene.write(to: scnurl, options: nil, delegate: nil, progressHandler: nil)){
        print("tis success")
    }
    print("This button work")
}

该按钮确实有效,因为它打印出“此按钮有效”,但它没有打印出“tis success”,因为该函数返回 false。

最佳答案

我会利用 SCNScene.write() 的最后一个参数方法,有一个进度处理程序,如果失败,可能会向您提供错误信息。

我预计它会因为您提供的 URL 而失败。看一下从 FileManager 获取 URL并将您的文件名附加到其中。

关于swift - scnScene.write 未将场景写入 .scn 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52959762/

相关文章:

ios - UISplitViewController preferredPrimaryColumnWidthFraction 不适用于 iPhone iOS 9

Xcode 9 和 Xcode 8?

ios - 如何将 View 添加到 StoryBoard 以在 viewForHeaderInSection 中使用?

ios - 快速制作 "Joy stick"

ios - 将第二个 UV 集与 SCNGeometry 结合使用

ios - UIPageViewController 中的 UIImageView 大小调整问题

swift - 如何在导航栏下方添加 ImageView 填充?

ios - 无法正确检测多几何形状的碰撞

ios - 如何将数据从一个 View Controller 传递到另一个 SWIFT

swift - 如何正确使用 NSImage 作为 SCNGeometry 形状的 Material ?