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

在使用archivedObject(ofClass:from:)方法时,在存档和解档期间对[SCNNode]进行特殊处理即可。以下是可能的示例代码:

// 编写类扩展以在存档和解档时特殊处理SCNNode数组
extension Array where Element == SCNNode {
    
    enum CodingKeys: String, CodingKey {
        case nodes
    }
    
    public func encode(to encoder: Encoder) throws {
        var container = encoder.container(keyedBy: CodingKeys.self)
        try container.encode(self, forKey: .nodes)
    }
    
    public init(from decoder: Decoder) throws {
        let container = try decoder.container(keyedBy: CodingKeys.self)
        self = try container.decode([SCNNode].self, forKey: .nodes)
    }
}

// 存档一个包含SCNNode数组的对象
let scene = SCNScene()
let nodes = [SCNNode(), SCNNode()]
scene.rootNode.addChildNode(nodes[0])
scene.rootNode.addChildNode(nodes[1])

let data = try NSKeyedArchiver.archivedData(withRootObject: nodes, requiringSecureCoding: false)
UserDefaults.standard.set(data, forKey: "nodes")

// 解档该对象
if let data = UserDefaults.standard.data(forKey: "nodes") {
    let nodes = try NSKeyedUnarchiver.unarchiveTopLevelObjectWithData(data) as? [SCNNode]
    scene.rootNode.addChildNode(nodes![0])
    scene.rootNode.addChildNode(nodes![1])
}

在代码示例中,我们编写了一个扩展以在存档和解档期间对SCNNode数组进行特殊处理。接下来,我们可以将包含SCNNode数组的对象存档到UserDefaults,并在需要时通过解档将其还原。

相关内容

热门资讯

七分钟科普!钱塘13水打牌,微... 七分钟科普!钱塘13水打牌,微扑克网页版辅助,雀神辅助在哪下载(有挂攻略);亲,关键说明,钱塘13水...
we poke软件免费版!手机... we poke软件免费版!手机德州软件透明挂,聚星扑克原来真的有挂(详细辅助挂教程);1、we po...
六分钟辅助!天涯手机麻将有挂吗... 六分钟辅助!天涯手机麻将有挂吗,wpk德州ai机器人,雀神辅助器免费版v3.0(有挂攻略)1、打开软...
微扑克这软件有问题!线上wpk... 微扑克这软件有问题!线上wpk德州软件透明挂,云扑克德州一直真的有挂(详细辅助黑科技教程)1、微扑克...
wpk俱乐部系统!手机德州软件... wpk俱乐部系统!手机德州软件透明挂,wpk德州果然真的有挂(详细智能ai代打教程)1、打开软件启动...
十分钟科普!胖猪竞技有外 挂没... 十分钟科普!胖猪竞技有外 挂没,德扑数据软件,广东雀神智能辅助软件(有挂细节)1、进入到胖猪竞技有外...
哈糖大菠萝可以弄的!红龙软件德... 哈糖大菠萝可以弄的!红龙软件德州扑克软件透明挂,wePokE一般真的有挂(详细辅助工具教程);1、哈...
七分钟辅助挂!闲逸游戏有辅助工... 七分钟辅助挂!闲逸游戏有辅助工具吗,欢乐棋牌有挂,微信雀神小程序能开挂吗(有挂细节)1、闲逸游戏有辅...
德扑ai人工智能!WPk软件透... 德扑ai人工智能!WPk软件透明挂,aapoKer一直真的有挂(详细辅助教程);1、玩家可以在德扑a...
9分钟辅助挂!九九互娱有挂吗,... 9分钟辅助挂!九九互娱有挂吗,德州alphax辅助,雀神辅助器插件(有挂细节)1、实时九九互娱有挂吗...