码迷,mamicode.com
首页 > 其他好文 > 详细

OC2_使用系统协议

时间:2015-06-24 20:58:12      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:

//
//  Dog.h
//  OC2_使用系统协议
//
//  Created by zhangxueming on 15/6/24.
//  Copyright (c) 2015年 zhangxueming. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface Dog : NSObject <NSCoding>

@property (copy, nonatomic)NSString *name;
@property (assign, nonatomic)NSInteger age;

@end



//
//  Dog.m
//  OC2_使用系统协议
//
//  Created by zhangxueming on 15/6/24.
//  Copyright (c) 2015年 zhangxueming. All rights reserved.
//

#import "Dog.h"

@implementation Dog

- (void)encodeWithCoder:(NSCoder *)aCoder
{
    //如果父类也遵守对应的协议,那么应该先调用父类的方法进行编码
    //[super encodeWithCoder:aCoder];
    [aCoder encodeObject:self.name forKey:@"name"];
    [aCoder encodeInteger:self.age forKey:@"age"];
}
- (id)initWithCoder:(NSCoder *)aDecoder
{
    //如果父类也遵守对应的协议,先调用父类的方法解码
    //self = [super initWithCoder:aDecoder];
    if (self = [super init]) {
        self.name = [aDecoder decodeObjectForKey:@"name"];
        self.age = [aDecoder decodeIntegerForKey:@"age"];
    }
    return self;
}

- (NSString *)description
{
    return [NSString stringWithFormat:@"name = %@ age = %li",_name, _age];
}
@end
//
//  main.m
//  OC2_使用系统协议
//
//  Created by zhangxueming on 15/6/24.
//  Copyright (c) 2015年 zhangxueming. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "Dog.h"

int main(int argc, const char * argv[]) {
    @autoreleasepool {
#if 0
        Dog *xiaoBai = [[Dog alloc] init];
        xiaoBai.name = @"小白";
        xiaoBai.age = 12;
        
        BOOL ret = [NSKeyedArchiver archiveRootObject:xiaoBai toFile:@"/Users/zhangxueming/Desktop/Test/dog.txt"];
        if (ret) {
            NSLog(@"归档成功");
        }
        else
        {
            NSLog(@"归档失败");
        }
#else
       Dog *dog=[NSKeyedUnarchiver unarchiveObjectWithFile:@"/Users/zhangxueming/Desktop/Test/dog.txt"];
        if (dog) {
            NSLog(@"%@", dog);
        }
        
#endif
    }
    return 0;
}

 

OC2_使用系统协议

标签:

原文地址:http://www.cnblogs.com/0515offer/p/4598466.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!