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 (将#修改为@)