ios – 在NSCache中存储结构的任何方法

ios – 在NSCache中存储结构的任何方法,第1张

概述有没有办法在NSCache中存储struct值?当我阅读Apple文档时,您只能将AnyObject存储到它.有一些工作是将sturct转换为class,第二个将sturct值转换为字典,但如果数据集很大则它们是非常昂贵的 *** 作.有什么建议吗? 我要把手臂放在’不’上(没有解决方法). NSCache在运行时的Objective-C方面非常响亮,编写为与NSObjects一起使用,通过AnyObje 有没有办法在NSCache中存储struct值?当我阅读Apple文档时,您只能将AnyObject存储到它.有一些工作是将sturct转换为class,第二个将sturct值转换为字典,但如果数据集很大则它们是非常昂贵的 *** 作.有什么建议吗?解决方法 我要把手臂放在’不’上(没有解决方法). NSCache在运行时的Objective-C方面非常响亮,编写为与NSObjects一起使用,通过AnyObject桥接.与NSDictionary和NSArray不同,编译器之间没有等效的 Swift集合.

除了实现要点:NSCache根本不存在于理解比C原子更复杂的价值语义的世界中.

话虽这么说,可能最简单的解决方法就是为你的struct创建一个对象容器,使桥接显式但由任何想要使用缓存的人拥有:

class YourStructHolder: NSObject {    let thing: YourStruct    init(thing: YourStruct) {        self.thing = thing    }}cache.setobject(YourStructHolder(thing: thing),forKey:"Whatever")(cache.objectForKey("Whatever") as? YourStructHolder)?.thing

…或者跳过init并使用var …:YourStruct?如果你对可变性感到满意无论如何,在与缓存交谈时,你将不得不处理可选性.

总结

以上是内存溢出为你收集整理的ios – 在NSCache中存储结构的任何方法全部内容,希望文章能够帮你解决ios – 在NSCache中存储结构的任何方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1077476.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存