7
如何使用NSCoder对自定义类型进行编码和解码?NSCoder和自定义类型
例如,你将如何使用NSCoder与实例“STATE
”其中:
typedef enum { ON, OFF } STATE;
如何使用NSCoder对自定义类型进行编码和解码?NSCoder和自定义类型
例如,你将如何使用NSCoder与实例“STATE
”其中:
typedef enum { ON, OFF } STATE;
你可以把它们作为整数,因为它们隐含分配整数值:
- (void) encodeWithCoder: (NSCoder *)coder {
...
[coder encodeInt:type forKey:@"state"];
}
- (id) initWithCoder: (NSCoder *)coder {
...
state = [coder decodeIntForKey:@"state"];
}
除在枚举内部的顺序改变会破坏编码。 – Kenneth 2012-06-29 08:39:25
你们把这些方法放在哪一类?他们是类型,而不是对象...'NSKeyedArchiver'? – 2012-11-23 01:32:39
为了支持实例的编码和解码,一个类必须采用NSCoding协议并实现其方法。被编码或解码的对象负责对其状态进行编码和解码。 – Ushox 2012-11-30 06:01:51