`

NSCoding

 
阅读更多
@protocol NSCoding

- (void)encodeWithCoder:(NSCoder *)aCoder;
- (id)initWithCoder:(NSCoder *)aDecoder;

@end


//
//  Apple.h
//  test_GCD
//
//  Created by xserver on 12-7-12.
//  Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface Apple : NSObject <NSCoding>
{
    NSString *name;
}

@property(nonatomic, copy)NSString *name;

@end


extern NSString * const kCodingName;


//
//  Apple.m
//  test_GCD
//
//  Created by xserver on 12-7-12.
//  Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
//

#import "Apple.h"

@implementation Apple
@synthesize name;

- (void)encodeWithCoder:(NSCoder *)aCoder
{
    [aCoder encodeObject:self.name forKey:kCodingName];
}

- (id)initWithCoder:(NSCoder *)aDecoder
{
    if (self = [super init]) {
        self.name = [aDecoder decodeObjectForKey:kCodingName];

        if (aDecoder == nil) {  
            return self;  
        }
    }
    return self;
}
@end

NSString * const kCodingName = @"name";
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics