zoukankan      html  css  js  c++  java
  • 简单的归档、接档

    #import <Foundation/Foundation.h>

     @interface model : NSObject

    @property(nonatomic,copy)NSString *bookName;

    @property(nonatomic,assign)double BookPrice;

    @end

    //实现委托

    @interface model()<NSCoding>

    @end

    @implementation model

    //归档

    - (void)encodeWithCoder:(NSCoder *)aCoder{

        [aCoder encodeObject:self.bookName forKey:@"BookName"];

        [aCoder encodeDouble:self.BookPrice forKey:@"BookPrice"];

      }

    //解档

    - (id)initWithCoder:(NSCoder *)aDecoder{

        self=[super init];

        if (self) {

            self.bookName= [aDecoder decodeObjectForKey:@"BookName"];

            self.BookPrice= [aDecoder decodeDoubleForKey:@"BookPrice"];

        }

        return  self;

    }

    要使用的内中

      //归档(OC对象->NSData)

        NSMutableData *data = [NSMutableData data];

        NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];

        //模型数据

        model *mo=[[model alloc]init];

        mo.bookName=@"APP";

        mo.BookPrice=18.5;

        [archiver encodeObject:mo forKey:@"mo"];

        [archiver finishEncoding];

        //Document路径

        NSString *paths = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0]stringByAppendingString:@"model.txt"];

        

        if ([data writeToFile:paths atomically:NO]) {

            NSLog(@"写入成功");

        }

        else{

            NSLog(@"写入失败");

        }

    }

    - (void)jied{

        NSString *paths = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0]stringByAppendingString:@"model.txt"];

        //解档

        NSMutableData *data = [NSMutableData dataWithContentsOfFile:paths];

        

        NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data];

        

        model *mo = [unarchiver decodeObjectForKey:@"mo"];

        //完成解档

        [unarchiver finishDecoding];

  • 相关阅读:
    OSPF Configuration Examples
    enabling ip forwarding
    LeetCode 153. Find Minimum in Rotated Sorted Array
    洛谷 P1059 明明的随机数
    LeetCode 120. Triangle
    洛谷 P1047 校门外的树(待完善)
    C++万能头文件<bits/stdc++.h>的内容与优缺点
    LeetCode 217. Contains Duplicate
    LeetCode 414. Third Maximum Number
    洛谷 P1540 机器翻译
  • 原文地址:https://www.cnblogs.com/zhuzhushen/p/4226732.html
Copyright © 2011-2022 走看看