封裝歸檔,反歸檔方法


#import <Foundation/Foundation.h>

// 歸檔工具類

@interface ArchieverTool : NSObject

// 歸檔方法
+ (NSData *)Archiever:(id)object forKey:(NSString *)key;

// 反歸檔方法
+ (id)UnArchiever:(NSData *)data forKey:(NSString *)key;

@end


#import "ArchieverTool.h"

@implementation ArchieverTool

// 歸檔方法
+ (NSData *)Archiever:(id)object forKey:(NSString *)key {
    
    NSMutableData *data = [NSMutableData data];
    
    NSKeyedArchiver *anrchiever = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];
    
    [anrchiever encodeObject:object forKey:key];
    
    [anrchiever finishEncoding];
    
    return data;
    
    
    
}

// 反歸檔方法
+ (id)UnArchiever:(NSData *)data forKey:(NSString *)key {
    
    NSKeyedUnarchiver *unArchiever = [[NSKeyedUnarchiver alloc] initForReadingWithData:data];
    
    id object = [unArchiever decodeObjectForKey:key];
    
    [unArchiever finishDecoding];
    
    
    return object;
    
}

@end



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章