【发布时间】:2010-09-20 19:38:06
【问题描述】:
我有一个符合 NSCoder 的对象 (testSession),当我使用时:
[NSKeyedArchiver archiveRootObject:testSession toFile:filename];
它有:
@interface Session : NSObject <NSCoding> {
并具有 encodeWithCoder: 和 initWithCoder: 功能。两者都没有被调用。什么会阻止这种情况发生?
- (void)encodeWithCoder:(NSCoder *)encoder
- (id)initWithCoder:(NSCoder *)decoder
这些需要在标题中声明吗?
【问题讨论】:
-
由于你的类符合
NSCoding协议,你不需要在你的头文件中声明方法。 -
我没去过。那么什么会阻止 encodeWithCoder: 被调用呢?
标签: objective-c decode encode nskeyedarchiver