0

我知道有一种更好/更简单的方法来创建一个由小型 NSDictionary 对象组成的 NSArray,可能使用 KVC 或一些 Obj-C 2.0 的奇思妙想,但我找不到它,也可以输入它。我的课:@interface PDDetailShowModel:NSObject

@property(nonatomic, strong, readonly)NSString *showid;
@property(nonatomic, strong, readonly)NSString *showdate;
@property(nonatomic, strong, readonly)NSString *showyear;
@property(nonatomic, strong, readonly)NSString *city;
@property(nonatomic, strong, readonly)NSString *state;
@property(nonatomic, strong, readonly)NSString *country;
...

方法:

- (NSArray *) createArrayForTableView
{
  NSMutableArray *list = [NSMutableArray array];
  NSDictionary *dict = @{@"venue":_venue};
  [list addObject:dict];
  NSDictionary *dict1 = @{@"city":_city};
  [list addObject:dict1];
  NSDictionary *dict2 = @{@"state":_state};
  [list addObject:dict2];
  NSDictionary *dict3 = @{@"country":_country};
  ....
  return [NSArray arrayWithArray:list];
}

我的最终目标是用部分标题填充一个漂亮的 UITableView。我从 JSON API 调用中得到了所有这些东西,但它不是我想要的 TableView 的顺序。

4

1 回答 1

2

您可以将字典文字包装在数组文字中。

或者,为了避免重新编译更改或避免不必要的内存消耗,您可以在项目中创建一个 plist 并在需要时对其进行编辑,然后简单地使用 initWithContentsOfURL: [[NSBundle mainBundle] URLForResource: @"plistFileName"]; 初始化数组。

于 2013-06-11T04:31:07.850 回答