zoukankan      html  css  js  c++  java
  • iOS --归档存储自定义对象

    #import <Foundation/Foundation.h>
    
    @interface User : NSObject<NSCoding>   //遵循NSCoding协议
    
    /** name */
    @property (nonatomic, copy) NSString *name;
    
    /** age */
    @property (nonatomic, assign) NSInteger age;
    
    //自定义初始化方法
    - (instancetype)initWithName:(NSString *)name age:(NSInteger)age;
    
    @end
    
    -----------
    
    #import "User.h"
    
    @implementation User
    
    //初始化
    - (instancetype)initWithName:(NSString *)name age:(NSInteger)age
    {
        self = [super init];
        if (self) {
            self.name = name;
            self.age = age;
        }
        
        return self;
    }
    
    //归档
    - (void)encodeWithCoder:(NSCoder *)aCoder
    {
        [aCoder encodeObject:self.name forKey:@"name"];
        [aCoder encodeInteger:self.age forKey:@"age"];
    }
    
    //反归档
    - (instancetype)initWithCoder:(NSCoder *)aDecoder
    {
        self = [super init];
        if (self) {
            self.name = [aDecoder decodeObjectForKey:@"name"];
            self.age = [aDecoder decodeIntegerForKey:@"age"];
        }
        
        return self;
    }
    
    
    
    @end
        //归档 编码
        User *user = [[User alloc] initWithName:@"张三" age:18];
        NSData *userData = [NSKeyedArchiver archivedDataWithRootObject:user];
        
        //反归档  解码
        User *user1 = [NSKeyedUnarchiver unarchiveObjectWithData:userData];
  • 相关阅读:
    Swift使用闭包表达式
    css + html 小知识总结
    关于javascript的误区
    什么是cookie
    css技术和实例
    闭包练习
    web 小知识
    javascript------>(此文转发)
    Spring Boot 系列 @ControllerAdvice 拦截异常并统一处理
    JSR-303 数据校验学习
  • 原文地址:https://www.cnblogs.com/zhangshan/p/5453199.html
Copyright © 2011-2022 走看看