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

  • 相关阅读:
    浏览器不兼容原因及解决办法
    VC++ MFC DLL动态链接库编写详解
    Saas是什么?
    用CSS中的Alpha实现渐变
    一种真正意义上的Session劫持[转]
    使用.NET Framework中新的日期时间类型[转]
    Hook、钩子、VC++ 基本概念
    H264
    Windows编程中各种操作文件的方法
    将TCP/IP协议移植到内嵌的弹片机中配合GPRS无线模块开发应用
  • 原文地址:https://www.cnblogs.com/zhuzhushen/p/4226732.html
Copyright © 2011-2022 走看看