1

我见过很多人使用NSDictionaryJSON 解析:

//ViewController.m
NSString* forename = [jsonDict valueForKey:@"forename"];
NSString* surname = [jsonDict valueForKey:@"surname"];

但我也有人NSObjectNSDictionary.

//JSONObject.h
@interface JSONObject : NSObject

@property (nonatomic) NSString* forename;
@property (nonatomic) NSString* surname;
@end

//JSONObject.m
@implementation JSONObect

@synthesize forename = _forename;
@synthesize surname = _surname;

@end

//ViewController.m
JSONObject* jsonObject = [[JSONObject alloc] init];
[jsonObject setForename:[jsonDict valueForKey:@"forename"]];
[jsonObject setSurname:[jsonDict valueForKey:@"surname"]];

然后将这些存储在NSMutableArray

NSMutableArray* jsonObjectsArray = [NSMutableArray arrayWithCapacity:20];
[jsonObjectsArray addObject:jsonObject];

如果需要,可以稍后访问。

就我而言,我有一个UITableView从 JSON 获取数据的方法。数据至少使用一次,但很可能会被使用更多(例如,在设备轮换中)。JSON 数据不应永久存储到文件中,因为它会定期更新并在每次应用启动时下载。

我应该在我的场景中使用自定义NSObject还是 a ?NSDictionary

4

2 回答 2

0

使用自定义对象的一个​​论点是它距离使用 NSManagedObject 仅几步之遥,这将让您利用 Core Data 来管理您的对象图。

于 2012-09-05T21:10:23.600 回答
0

使用 NSDictionary 的理由是它更简单、更容易理解,并且您定义的“次要”类(和相关的 h/m 文件)更少,因此在项目中管理的更少。在“不断变化”的项目中编辑/扩展也容易得多。

于 2012-09-05T21:18:17.480 回答