UIPickerView 中的 JSON 数组按父标签排序

Posted

技术标签:

【中文标题】UIPickerView 中的 JSON 数组按父标签排序【英文标题】:Sort JSON Array in UIPickerView by parent tag 【发布时间】:2014-06-30 11:26:09 【问题描述】:

我下载了一份运动队列表。 JSON 列表的内容随后必须以UIPickerView 的形式呈现。这是 JSON 的内容;


 success: "true",
 message: [

 category_id: 21,
 category_name: "MAN UTD",
 parent: "EPL"
,

 category_id: 22,
 category_name: "Liverpool",
 parent: "EPL"
,

 category_id: 27,
 category_name: "Real Madrid",
 parent: "La Liga"
,

 category_id: 75,
 category_name: "Barcelona",
 parent: "La Liga"
,

 category_id: 23,
 category_name: "Valencia",
 parent: "La Liga"
,

 category_id: 24,
 category_name: "Bayern Munich",
 parent: "Bundesliga"

]

我知道如何解析 JSON,但我需要将 UIPickerView 与关联团队上方的父级一起呈现。 所以我需要将它们添加到这样的数组中;

英超联赛, 曼联, 利物浦, 西甲, 皇家马德里, 巴塞罗那, 瓦伦西亚, 德甲, 拜仁慕尼黑。

有没有一种简洁的方法可以在条件语句中做到这一点?我需要能够像上面那样对它们进行排序,但如果它能够处理动态内容以防列表被添加到等等,那就太好了。

【问题讨论】:

显示完整的响应数据,便于优化工作 @Anbu.Karthik 好的,请看上面 [self.arrNames sortUsingSelector:@selector(localizedCaseInsensitiveCompare:)];;上述方法用于按升序排列可变值 【参考方案1】:
// First Store Json Data in To NSArray       

 // NSSortDescriptor (better)

  NSSortDescriptor *sortDescriptor;
  sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"parent"
                                              ascending:YES];
  NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor];
  NSArray *sortedArray;
  sortedArray = [drinkDetails sortedArrayUsingDescriptors:sortDescriptors];

【讨论】:

很好,但是我如何将父名称添加到其子项之前的列表中,就像问题中一样。

以上是关于UIPickerView 中的 JSON 数组按父标签排序的主要内容,如果未能解决你的问题,请参考以下文章

UIPickerView 为空,数据源为 JSON 数组

UIPickerView 无法显示 JSON 数组数据

使用远程 JSON 数组填充 UIPIckerView

使用 Alamofire 使用 JSON 数组填充 UIPickerView 时遇到问题 |迅速

如何使用 JSON 数组填充 UIPickerView? [关闭]

将 Json 数组传递给 UIPickerView 不起作用