iOS中如何使用NSCoding编码包含自定义类型数据的自定义类型?

题目有点绕,详细点说我遇到的问题就是,现在我有一个自定义类,里面有的类成员也是自定义的类型,有的类成员还是mutable类型的。我想要用NSCoding把类编码,然后保存到文件,请问代码应该如何写?
iOS下,OC。
请问对这种类型的数据,如果用SQLite写的话,怎么设计数据库呢?

阅读 5.3k
2 个回答

实现子类的encoding decoding

objectivec- (void)encodeWithCoder:(NSCoder *)encoder
{
    [super encodeWithCoder:encoder];
    encoding code for this subclass... 
}

- (void)initWithCoder:(NSCoder *)decoder
{
    if ( self = [super initWithCoder:decoder] {
        // decoding for subclass.
    }
    return self;
}

回答第一个问题。
很简单,只要让成员也实现NSCoding即可。正确地递归调用encode和decode,就能解决问题。

数据库的话,一般是每种数据类型一张表,然后用id关联起来。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题