目标:
将对象的一些信息提取保存起来,然后转化成JSON,再上传到服务器,或其他保存本地的用途。
从服务器接收或从本地读取,然后通过JSON的信息生成指定的对象。
方案代码:
//
// KeepLabelInfoModel.h
// TestViewXIB
//
// Created by yococo on 15/9/29.
// Copyright (c) 2015年 yococo. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
@interface KeepLabelInfoModel : NSObject
/***************************/
//记录当前所保存的数据信息
@property(nonatomic,strong,readonly) NSMutableArray* infoArray;
/***************************/
//记录指定对象,内部自行提取需要保存的数据信息
- (void) addObject:(UILabel*)anObject;
/***************************/
//将指定的数据信息数组转换成JSON 字符串格式
@property(nonatomic,readonly) NSString* JSONString;
//将指定的数据信息数组转换成JSON 数据格式
@property(nonatomic,readonly) NSData* JSONData;
/***************************/
//内部处理间的错误情况
@property(nonatomic,strong) NSError* error;
/***************************/
//通过获取指定数据信息生成指定对象
- (void) modelObjectsWithJSONString:(NSString*)jsonString;
- (void) modelObjectsWithJSONData:(NSData*)jsonData;
//记录所生成的对象
@property(nonatomic,strong,readonly) NSArray* modelObjects;
@end
//
// infoLabelInfoModel.m
// TestViewXIB
//
// Created by yococo on 15/9/29.
// Copyright (c) 2015年 yococo. All rights reserved.
//
#import "KeepLabelInfoModel.h"
@implementation KeepLabelInfoModel
- (void) dealloc
{
_infoArray = nil;
_error = nil;
_modelObjects = nil;
}
- (void) addObject:(UILabel*)anObject
{
if (_infoArray == nil) {
_infoArray = [NSMutableArray array];
}
if (anObject == nil || [anObject isKindOfClass:[UILabel class]] == NO) {
return;
}
NSMutableDictionary* tempDictionary = [NSMutableDictionary dictionary];
[tempD