AutoNSCoding 0.1.3

AutoNSCoding 0.1.3

TestsTested
LangLanguage Obj-CObjective C
License MIT
ReleasedLast Release Dec 2014

Maintained by EricShi.



Few words to make your NSCoding protocol automatic.

Usage

Install

Copy two files to you project, and #import "NSObject+NSCoding.h". CocoaPods is support now.

Custom Class

self is a subclass of Parent

Parent:

#pragma mark - NSCoding

- (void)encodeWithCoder:(NSCoder *)encoder
{
  [self encodeAutoWithCoder:encoder class:[Parent class]];
}

- (id)initWithCoder:(NSCoder *)decoder
{
  if (self = [super init]) {
    [self decodeAutoWithAutoCoder:decoder class:[Parent class]];
  }
  return self;
}

Children:

#pragma mark - NSCoding

- (void)encodeWithCoder:(NSCoder *)encoder
{
  [super encodeWithCoder:encoder];

  [self encodeAutoWithCoder:encoder];
}

- (id)initWithCoder:(NSCoder *)decoder
{
  if (self = [super initWithCoder:decoder]) {
    [self decodeAutoWithAutoCoder:decoder];
  }
  return self;
}

Normal Class

#pragma mark - NSCoding

- (void)encodeWithCoder:(NSCoder *)aCoder
{
  [self encodeAutoWithCoder:aCoder];
}

- (id)initWithCoder:(NSCoder *)aDecoder
{
  if (self = [super initWithCoder:aDecoder]) {
    [self decodeAutoWithAutoCoder:aDecoder];
  }
  return self;
}