【问题标题】:Display Data with JSON result in a tableview [closed]在表格视图中显示带有 JSON 结果的数据 [关闭]
【发布时间】:2015-07-30 01:22:11
【问题描述】:

我卡住了!我想在 tableView 中显示数据结果。我创建了一个具有相同属性的类。我应该迭代每个键并将其存储在 NSArray 中吗?我现在该怎么办?

NSDictionary *result =[NSJSONSerialization JSONObjectWithData:requestHandler options:NSJSONReadingMutableLeaves error:nil];

.

2015-07-29 17:55:12.669 Test[9051:173867] {
0 = 200;
data = (
        {
            name = "John";
            lasta_name = "Frusciante"
            "avatar" = "https://pictures.com/2516137_1185214515_1677640606.png";
            "descripcion" = "Guitar player";
        },
        {

            name = "Chad";
            lasta_name = "Smith"
            "avatar" = "https://pictures.com/2516137_1185214515_1677640606.png";
            "descripcion" = "Drummer";
        },
        {

            name = "Flea";
            lasta_name = "Balzary"
            "avatar" = "https://pictures.com/2516137_1185214515_1677640606.png";
            "descripcion" = "Bass player";
        },
        {
            name = "Anthony";
            lasta_name = "Kiedis"
            "avatar" = "https://pictures.com/2516137_1185214515_1677640606.png";
            "descripcion" = "Vocalist";
        }
)

}

【问题讨论】:

  • 您不会在 TableVIew 中显示 JSON。您将 JSON 提取到 TableViewDataSource 并显示提取的数据。它起源于 JSON(或 Pig Latin)这一事实是无关紧要的。

标签: ios objective-c xcode uitableview


【解决方案1】:

如果您有一个类,您可以使用每个对象构造该类并将其存储在一个数组中。

然后使用你刚刚创建的对象数组来填充表格视图

这是一个很好的答案,展示了解决方案:https://stackoverflow.com/a/21207931/2803660

【讨论】:

【解决方案2】:

是的,您必须将 JSON 转换为 NSArray。

一个很棒的方法是使用 Mantle 将 JSON 转换为你的类的实例。 https://github.com/Mantle/Mantle

代码是这样的

+ (NSDictionary *)JSONKeyPathsByPropertyKey {
    return @{
             @"imageUrlString"      : @"icon",
             @"smallImageUrlString" : @"icon_small",
             @"desc"                : @"title",
             };
}

在您的班级中,左侧是您班级的属性,右侧是 JSON 键 和NSArray *array = [MTLJSONAdapter modelsOfClass:[YourClass class] fromJSONArray:JSONArray error:nil]你需要使用的地方。

那么就可以使用数组作为tableView的数据源了。

【讨论】:

    猜你喜欢
    • 2016-01-06
    • 1970-01-01
    • 1970-01-01
    • 2015-12-11
    • 2016-08-03
    • 1970-01-01
    • 1970-01-01
    • 2021-06-03
    • 1970-01-01
    相关资源
    最近更新 更多