将模型储存到本地-FastCoder

//
//  ViewController.m
//  模型转data储存
//
//  Created by 谭启宏 on 16/3/4.
//  Copyright © 2016年 tqh. All rights reserved.
//

#import "ViewController.h"
#import "FastCoder.h"

@interface DataModel1 : NSObject

@property (nonatomic,strong)NSArray *array;
@property (nonatomic,strong)NSDictionary *dic;
@property (nonatomic,copy)NSString *str;
@property (nonatomic,assign)NSInteger age;
//@property (nonatomic,strong)DataModel *model;
@end
@implementation DataModel1

@end

@interface DataModel : NSObject

@property (nonatomic,strong)NSArray *array;
@property (nonatomic,strong)NSDictionary *dic;
@property (nonatomic,copy)NSString *str;
@property (nonatomic,assign)NSInteger age;
@property (nonatomic,strong)DataModel1 *model;
@end

@implementation DataModel

@end

@interface ViewController ()
@end

@implementation ViewController
- (void)viewDidLoad {
    [super viewDidLoad];

    DataModel *model00 = [[DataModel alloc]init];
    model00.array = @[@"haha",@"1231212"];
    model00.dic = @{@"111111111111--1-11--1-":@"1111"};
    model00.str = @"11111";
    model00.age = 123312132312;
    DataModel *model01 = [[DataModel alloc]init];
    model01.array = @[@"haha",@"1231212"];
    model01.dic = @{@"3213":@"1111"};
    model01.str = @"11111";
    model01.age = 123312132312;

    DataModel *model = [[DataModel alloc]init];
    model.array = @[model00,model01];
    model.dic = @{@"3213":@"1111"};
    model.str = @"11111";
    model.age = 123312132312;

    DataModel1 *model1 = [[DataModel1 alloc]init];
//    model1.str = @"1121211";
    model1.array = @[@"1111",@"11111"];
    model.model = model1;

    NSData *data = [FastCoder dataWithRootObject:model];

    DataModel *MODEL     =[FastCoder objectWithData:data];

    DataModel *model112 = MODEL.array[0];
    NSLog(@"%@",model112.dic);
    NSLog(@"%@",MODEL.dic);
    NSLog(@"%@",MODEL.str);
    NSLog(@"%ld",MODEL.age);

    NSLog(@"%@",model.model.array);
    NSLog(@"%@",MODEL.model.str);
    if (MODEL.model.str == nil) {
        NSLog(@"对");
    }else {
        NSLog(@"晓不得");
    }
    NSLog(@"%@",data);

}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

由于测试所以没有写储存到本地,但是把模型转化为了NSData类型了,几种储存方式都可以的

注意:

时间: 2024-10-12 02:58:53

将模型储存到本地-FastCoder的相关文章

【小松教你手游开发】【系统模块开发】unity 数据储存到本地为二进制文件(聊天记录本地储存)

unity游戏开发中有很多需要把数据储存到本地,官方有好几个方式可以使用,下面简单介绍一下. 一.Stream::Write,Stream::WriteLine 这个方法是打开数据流就开始写字符串,可以指定长度写,也可以一行一行的写.具体参考http://blog.csdn.net/dingxiaowei2013/article/details/19084859和雨松大神的http://www.xuanyusong.com/archives/1069 这种方法最简单,一行一行的写,一行一行的读,

<<< html5本地储存

类似与Cookies,但由于Cookies储存量太小,大小也只有4-5KB的样子,html5的本地储存能存5M大小的数据 html5本地储存属性有,localStorage和sessionStorage,localStorage代表储存在本地,sessionStorage后面是随着session,窗口关闭即消失 设置html5本地储存 localStorage.value = 1;//设置value 为"1"localStorage["user"] = "

laravel 本地作用于 模型查询

如果我们要再多个控制器中通过模型中查询相同的条件时候,可以再模型中使用本地作用域来达到重复使用. 举个例子:以帖子为例...我要以创建时间排序,和更新时间排序,去显示. 再模型中我们可以这样做: class  Topic { // 按更新时间排序的帖子 public function scopeRecent( $query ) { return $query->orderBy( ' updated_at ' , ' desc ' ) ; } //按创建时间排序的帖子 public functio

cocos2d JS 本地缓存存储登陆记住账号密码->相当于C++中的UserDefault

在cocos-js 3.0以上的版本中,当我们用到本地存储的时候,发现以前用到的UserDefault在JS中并没有导出,而是换成了LocalStorage. 在LocalStorage.h文件中我们查看了一下源码,使用方法就是设置Key-Value的方式 存储数据:cc.sys.localStorage.setItem("key","value") 获取数据:cc.sys.localStorage.getItem("key") 移除数据:cc.

Django模型的_meta编程

Python有反射机制,Django也不例外,也有很好的反射机制,每个Django模型都有一个属性_meta,_meta也有属性和方法,这些属性和方法反射出了模型的一些特性,如果_meta用的好的话,不仅可也是代码更加优美,而且还可以大大提高代码的通用性和重复利用性.下面主要介绍_meta的属性和方法. 在django项目中,定义一个模型,然后用dir()函数打印出该模型的_meta的属性和方法,结果如下: _meta的属性和方法 '__class__', '__delattr__', '__d

模型持久化

__author__ = 'Oscar_Yang' #-*- coding= utf-8 -*- from sklearn import datasets iris = datasets.load_iris() from sklearn.naive_bayes import GaussianNB from sklearn.externals import joblib import pickle from matplotlib import pyplot as plt gnb = Gaussia

Bean(描述Java的软件组件模型)

EJB是Enterprise Java Bean的缩写,一个Bean扮演着应用程序素材的角色.它包含有一个functional interface,一个life-cycle interface,以及一个实现它所支援的商业方法的类别. 外文名 Enterprise Java Bean 缩    写Bean   定义描述Java的软件组件模型 类    型    应用程序素材的角色 目    的  将可以重复使用的软件代码打包 应用范围  应用于服务器的部件 1定义 JavaBean是描述Java的

【IAP支付之二】In app purchase 本地购买和服务器购买两种购买模式

开发者在游戏中通过iap让玩家支付,实际开发中遇到的问题: 1.StoreKit和AppStore之间的通信 一开始有担心游戏内部和AppStore通信的中间环节,其实这个完全不用考虑,StoreKit和AppStore之间的通信完全是有苹果内部处理的,不存在任何问题,我们所需要关心的就是返回给我们支付结果后(购买成功.失败.取消...)等环节的处理 Store Kit代表App和App Store之间进行通信.程序将从App Store接收那些你想要提供的产品的信息(网站后台配置的),并将它们

Android服务端本地窗口FramebufferNativeWindow

Android窗口系统 我们知道Android系统采用OpenGL来绘制3D图形,OpenGL ES提供了本地窗口(NativeWindow)的概念,无论是在Android平台中还是其他平台中,只要实现OpenGL ES中的本地窗口定义的接口,就可以利用OpenGL ES来绘制图形.由于Android系统所有服务都建立在C/S模式下,因此Android系统在实现OpenGL ES的本地窗口时仍然包括两种本地窗口,服务进程端的本地窗口定义为FramebufferNativeWindow,该本地窗口