2010-04-08 81 views
0

我正在使用NSObject的Objective C类,它是NSObject的子类。 该课程无法修改。我有一个这个类的实例,我希望写入一个可以检索并稍后恢复的文件。该对象不符合NSCoding。[iPhone] Objective C,不符合NSCoding的对象。如何将它们写入文件

综上所述,我需要一个类的实例保存到以后可以检索的文件,而无需使用任何的NSCoding方法,如NSKeyedArchiving encodeWithCoder ...

使用它们返回这个.. 。 NSInvalidArgumentException ... encodeWithCoder:] 无法识别的选择发送到实例...

有没有我可以存储该对象为以后使用 任何其他方式感谢您

PS类是的UIEvent

+2

你能向我们解释为什么你想存档一个事件吗? UIEvent不符合NSCoding的原因是它通常不被认为是需要持久化的数据。 – NSResponder 2010-04-08 17:00:48

+0

我与NSResponder。听起来就像你正在尝试做一些更好的处理方式,而不会涉及归档UIEvents。 – Jaanus 2010-04-08 18:47:21

回答

2

你可以继承这个类并在子类中实现NSCoding协议吗?

+0

谢谢,但该类有许多不支持NSCoding的内部成员,并且该类不能被子类化 – 123hal321 2010-04-08 16:22:59

0

根据对象作为成员的含义,可以创建一个字典,并将每个成员的值设置为字典中的键,然后将其写入文件。

但是,我不明白为什么你不能为子对象和实现NSCoding协议,因为Jaanus建议?

+0

成员不支持NSCoding并且我不能继承这个类,我想知道是否存在一些相对较低级别的C函数从内存中复制它或类似的东西?我无法访问一些对象属性,因为它们是私人的 – 123hal321 2010-04-08 16:27:44

+0

反正有没有NSCoding这么做 – 123hal321 2010-04-08 16:47:41

+0

**为什么**你不能继承这个类吗?什么是预防呢? – Jasarien 2010-04-08 23:22:47

相关问题