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];

  • 相关阅读:
    洛谷 P2677 超级书架 2 题解
    洛谷 P3957 跳房子 二分+DP检验+单调队列优化
    BZOJ 1030 AC自动机+DP
    SPOJ-EPALIN 字符串哈希 回文
    URAL-1989 树状数组+字符串哈希
    POJ-2774 字符串哈希+二分
    CCF 201709-5 除法(线段树)
    CCF CSP个人题解汇总
    CCF CSP历年一二题代码汇总
    CCF 201803-4 棋局评估 (对抗搜索)
  • 原文地址:https://www.cnblogs.com/zhuzhushen/p/4226732.html
Copyright © 2011-2022 走看看