微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

NSSecureCoding VS 保存 id

如何解决NSSecureCoding VS 保存 id

我使用的是 Objective-c,macOS。

我目前正在重写一个应用程序以支持 NSSecureCoding 协议。 在某些课程中,我有一些这样的属性

@property id objectValue;

这些对象可以是非常动态的类型(Nsstring、自定义对象...) 在加载我之前这样做过:

_objectValue = [coder decodeObjectForKey:@"objectValue"];

使用 NSSecureCoding 我需要指定我显然不能用 id 做的类。 所以这是我的问题:

  1. 传递像 NSObject 这样的超类是否可以,即使它基本上是一个 Nsstring?

    _objectValue = [coder decodeObjectOfClass:[NSObject class] forKey:@"objectValue"];
    

    但是……这不会抵消 NSSecureCoding 的想法吗?

  2. 还有其他(更好的)方法吗?

编辑: 刚刚看到这对于多个类是可能的 decodeObjectOfClasses:forKey: - 正确的方法是列出所有可能的类吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。