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];
  • 相关阅读:
    在HTML网页中嵌入脚本的方式
    纪念品分组(贪心、排序)
    合并果子(STL优先队列)
    铺地毯(取最上层的地毯)
    多项式方程的输出
    BF算法(蛮力匹配)
    数位的处理
    两个数的差
    多项式计算器
    随机数生成器java实现
  • 原文地址:https://www.cnblogs.com/zhangshan/p/5453199.html
Copyright © 2011-2022 走看看