首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >方法Swizzle encodeWithCoder/initWithCoder

方法Swizzle encodeWithCoder/initWithCoder
EN

Stack Overflow用户
提问于 2012-05-24 17:00:39
回答 1查看 404关注 0票数 0

我们正在开发一款应用程序,可以将大量数据保存到核心数据中。它保存的内容主要是NSDateNSNumberNSString,但它也将许多图像和视频保存为NSData。我正在尝试更改它,以便将这些文件保存到本地存储中,并将文件名保存在核心数据中,然后我们只需从本地存储中加载它,希望在访问核心数据时节省时间,并使其更稳定。

在讨论之后,我们认为最简单的方法是覆盖encodeWithCoder和initWithCoder,这样我们就可以截获保存数据的调用,并将它们保存在文件系统上。然后我发现NSData实际上是类簇的一部分,所以覆盖函数比看起来更难。

因此,我读到了方法swizzling,在这种方法中,您可以将一个实现替换为另一个。我谷歌了一下,找到了this,还在Stack Overflow上找到了一篇关于使用这篇文章的帖子,但它对我并没有真正的帮助,我仍然不知道如何做我需要的事情。

有没有人能给我指出正确的方向,或者给我一些自己的建议,告诉我如何做到这一点?

谢谢,

EN

回答 1

Stack Overflow用户

发布于 2012-05-24 17:07:28

不要使用这些方法--相信我:)

如果您希望按照描述的方式保存,请将该实现放在类的归档方法的实现中(不是子类,也不是swizzle,而是包含这些对象的类)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10734259

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档