Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 通用数据建模概述_Iphone_Objective C_Ios_Cocoa Touch - Fatal编程技术网

Iphone 通用数据建模概述

Iphone 通用数据建模概述,iphone,objective-c,ios,cocoa-touch,Iphone,Objective C,Ios,Cocoa Touch,我一直在深入思考创建“数据模型”的一般方法,并一直在尝试最佳实践和MVC模式。目前,我正在使用单例模式来获取httprequest和json解析器(作为NSDictionary提供)。现在,我不希望直接访问这个解析器,而是希望创建一个可以通过它绑定的数据模型 然而,我一直在努力寻找一种简单的方法来实现这一点,而不是手动分配“[myObj setValue:[jsonDict objectForKey:@“name”]];”其中myObj往往是一个简单的NSString对象 由于NSDiction

我一直在深入思考创建“数据模型”的一般方法,并一直在尝试最佳实践和MVC模式。目前,我正在使用单例模式来获取httprequest和json解析器(作为NSDictionary提供)。现在,我不希望直接访问这个解析器,而是希望创建一个可以通过它绑定的数据模型

然而,我一直在努力寻找一种简单的方法来实现这一点,而不是手动分配“[myObj setValue:[jsonDict objectForKey:@“name”]];”其中myObj往往是一个简单的NSString对象

由于NSDictionary是一个很好的KVC概念,我如何利用它来丰富更好的数据模型样式,在这种样式中,我通常可以访问myObj.name或myObj.address实体,而不是“[myObj setValue:[jsonDict objectForKey:@“name”]];”行为

我已经研究了“核心数据”模型,但是当前的设计不需要在本地存储任何东西,而是出于安全原因,只需要在内存中存储


这里的任何好主意或最佳实践解决方案都将非常有用。

只需创建您的类即可。然后装箱一个类,将字典中的数据序列化到对象中

假设您创建了一个具有firstName和lastName属性的类Person。然后创建一个类,如PresonController,它将管理person对象,并在其中创建类方法,如

+(Preson*)personFromDictionary:(NSDictionary)peseonDictionary

每次你需要从字典中创建一个人时,你都会这样做

Person *newPerson = [PersonController personFromDictionary:yourPersonDictionary];
然后在代码中,您只需访问Person对象的属性

NSLog(@"Person first name:%@",newPerson.firstName);

希望我对您足够清楚。

Terente,谢谢您的输入,这现在真的很有意义,我只是好奇我真的需要另一个PersonController类,还是我可以在Person类中复制该方法?还有,这是一个单向赋值,是为了更新“解析器对象”,我会再做一次相反的对吗?