【发布时间】:2013-08-25 16:28:24
【问题描述】:
我有一个来自 OS X 应用程序的项目文件,它是一个使用 NSKeyedArchiver 生成的 plist。我需要以编程方式更改其中的一个字符串。
基本上,它包含带有 Foundation 类的 NSDictionary 对象。但是有一个自定义类(GradientColor)。我自己定义了它,并尝试在 initWithCoder: 和 encodeWithCoder: 中什么都不做,但目标应用程序在尝试读取新生成的项目文件时崩溃。所以它在初始化时无法正确处理 nil 值。
在使用 initWithCoder:(NSCoder *)aDecoder 初始化类时,我能否知道哪些键对应于我的类,以便将它们原封不动地编码回来?
【问题讨论】:
-
我相信您必须拥有自定义类的实现才能以相同的方式读取/写入数据..
标签: objective-c nskeyedarchiver nskeyedunarchiver