12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- //
- // NSObject+MJCoding.h
- // MJExtension
- //
- // Created by mj on 14-1-15.
- // Copyright (c) 2014年 小码哥. All rights reserved.
- //
- #import <Foundation/Foundation.h>
- #import "MJExtensionConst.h"
- /**
- * Codeing协议
- */
- @protocol MJCoding <NSObject>
- @optional
- /**
- * 这个数组中的属性名才会进行归档
- */
- + (NSArray *)mj_allowedCodingPropertyNames;
- /**
- * 这个数组中的属性名将会被忽略:不进行归档
- */
- + (NSArray *)mj_ignoredCodingPropertyNames;
- @end
- @interface NSObject (MJCoding) <MJCoding>
- /**
- * 解码(从文件中解析对象)
- */
- - (void)mj_decode:(NSCoder *)decoder;
- /**
- * 编码(将对象写入文件中)
- */
- - (void)mj_encode:(NSCoder *)encoder;
- @end
- /**
- 归档的实现
- */
- #define MJCodingImplementation \
- - (id)initWithCoder:(NSCoder *)decoder \
- { \
- if (self = [super init]) { \
- [self mj_decode:decoder]; \
- } \
- return self; \
- } \
- \
- - (void)encodeWithCoder:(NSCoder *)encoder \
- { \
- [self mj_encode:encoder]; \
- }
- #define MJExtensionCodingImplementation MJCodingImplementation
|