【问题标题】:encodeWithCoder Not getting calledencodeWithCoder 没有被调用
【发布时间】: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


【解决方案1】:

哎呀!创建 testSession 对象后,我忘记保留它。我有点生疏了:P

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-15
    • 1970-01-01
    • 1970-01-01
    • 2018-11-25
    • 2019-03-31
    相关资源
    最近更新 更多