栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用NSCoding快速编码元组

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用NSCoding快速编码元组

无法对元组进行编码,因为它不是类,但是一种方法是分别对元组的每个组成部分进行编码,然后在解码时对每个组成部分进行解码,然后将元组的值设置为根据解码内容构造的元组。

class ViewController: UIViewController {    override func viewDidLoad() {        super.viewDidLoad()        let obj = SomeClass()        obj.foo = (6,5)        let data = NSKeyedArchiver.archivedDataWithRootObject(obj)        NSUserDefaults.standardUserDefaults().setObject(data, forKey: "books")        if let data = NSUserDefaults.standardUserDefaults().objectForKey("books") as? NSData { let o = NSKeyedUnarchiver.unarchiveObjectWithData(data) as SomeClass println(o.foo) // (Optional(6), Optional(5))        }    }}class SomeClass: NSObject, NSCoding {    var foo: (x: Int?, y: Int?)!    required convenience init(prer deprer: NSCoder) {        self.init()        let x = deprer.depreObjectForKey("myTupleX") as Int?        let y = deprer.depreObjectForKey("myTupleY") as Int?        foo = (x,y)    }    func enpreWithCoder(prer: NSCoder) {        prer.enpreObject(foo.x, forKey: "myTupleX")        prer.enpreObject(foo.y, forKey: "myTupleY")    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/397948.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号