Demo链接:https://github.com/asd521411/NSCoder.git
还是person类
@interface Person : NSObject
@property (nonatomic, copy) NSString *name;
@property (nonatomic, assign) int age;
@end
person.m==============
#import “Person.h”
#import <objc/runtime.h>
@implementation Person
-
(void)encodeWithCoder:(NSCoder *)aCoder {
//1、常用
// [aCoder encodeObject:_name forKey:@“name”];
// [aCoder encodeInt:_age forKey:@“age”];
//2、如果属性很多
unsigned int count = 0;
Ivar *list = class_copyIvarList(self.class, &count);
for (NSInteger i = 0; i < count; i++) {
Ivar ivar = list[i];
const char *name = ivar_getName(ivar);
NSLog(@"==========%s"