archivedObject(ofClass:from:)对于[SCNNode]和SCNNode的处理不同。
创始人
2024-09-12 06:30:23
0

在使用archivedObject(ofClass:from:)进行解档操作时,需要注意对于不同类型的对象需要分别处理。对于包含多个SCNNode的数组,需要使用unarchiver.decodeObject(of: [SCNNode].self, forKey: key)来解码;对于单个SCNNode对象,则需要使用unarchiver.decodeObject(of: SCNNode.self, forKey: key)。

示例代码如下:

// 保存场景 func saveScene() { // ... let sceneData = try NSKeyedArchiver.archivedData(withRootObject: scene, requiringSecureCoding: false) userDefaults.set(sceneData, forKey: "savedScene") }

// 加载场景 func loadScene() { // ...

if let sceneData = userDefaults.data(forKey: "savedScene"),
    let unarchiver = try? NSKeyedUnarchiver(forReadingFrom: sceneData) {
    // 解码场景
    if #available(iOS 12.0, *) {
        let scene = try? unarchiver.decodeTopLevelObject(forKey: NSKeyedArchiveRootObjectKey) as? SCNScene
    } else {
        let scene = unarchiver.decodeObject(of: SCNScene.self, forKey: NSKeyedArchiveRootObjectKey)
    }
    
    // 解码节点
    if #available(iOS 12.0, *) {
        let nodes = try? unarchiver.decodeTopLevelObject(forKey: "nodes") as? [SCNNode]
    } else {
        let nodes = unarchiver.decodeObject(of: [SCNNode].self, forKey: "nodes")
    }
    
    unarchiver.finishDecoding()
}

}

相关内容

热门资讯

透视app!盛世辅助工具,we... 透视app!盛世辅助工具,wejoker手机版透视脚本(辅助挂)详细开挂辅助平台;无需打开直接搜索打...
科技新动态!卡五星辅助软件,新... 新玄龙辅助工具开挂教程视频分享装挂详细步骤在当今的网络游戏中,新玄龙辅助工具作为一种经典的娱乐方式,...
实测必看!四川熊猫辅助软件免费... 新鸿狐辅助软件是真的吗开挂教程视频分享装挂详细步骤在当今的网络游戏中,新鸿狐辅助软件是真的吗作为一种...
透视辅助!wepoker破解器... 透视辅助!wepoker破解器激活码,wpk作弊(辅助挂)详细开挂辅助挂1、下载安装好wepoker...
今日焦点!决战卡五星游戏辅助,... 今日焦点!决战卡五星游戏辅助,传送屋激k看底牌辅助软件(今日头条开挂辅助挂);无需打开直接搜索加薇1...
透视好友!新永和源代码,wej... 透视好友!新永和源代码,wejoker黑侠辅助器(辅助挂)详细开挂辅助下载这是一款可以让一直输的玩家...
重大推荐!红河西元旗牌脚本,情... 【亲,红河西元旗牌脚本 这款游戏可以开挂的,确实是有挂的,很多玩家在这款红河西元旗牌脚本中打牌都会发...
透视中牌率!微信四川熊猫辅助软... 透视中牌率!微信四川熊猫辅助软件,wepoker好友房开挂(辅助挂)详细开挂辅助脚本;无需打开直接搜...
玩家必看教程!南通长牌辅助,吉... 玩家必看教程!南通长牌辅助,吉祥填大坑脚本(有挂总结开挂辅助挂);打开点击测试直接进入微信(1367...
透视透明挂!吉利比鸡辅助,we... 透视透明挂!吉利比鸡辅助,wepoker怎么提高运气(辅助挂)详细开挂辅助平台;无需打开直接搜索打开...