我必须使用下面的UITableView
响应(数组)创建JSON
。我还没有这方面的代码,但是我希望如何分割这个数组以适应所有级别的类别和项目。
{
"result":{
"products":[
{
"id":"4",
"product_code":"PR04",
"title":"Product1",
"franchisee_id":"118"
}
],
"categories":[
{
"id":"8",
"name":"Category1"
},
{
"id":"20",
"name":"Category2",
"products":[
{
"id":"9",
"product_code":"PR07",
"title":Product2,
"franchisee_id":"118"
}
]
}
]
}
}
我想达到以下结果:
单击某个类别时,它将滑动到该类别中的产品。真的很喜欢这个方向。有些产品不属于类别。就像上面的例子一样。
答案 0 :(得分:3)
<强>好... 强>
您需要解析JSON文件。你可以轻松谷歌搜索一些教程,但here is a decent one。
接下来,您需要设置UITableView
来加载项目。 another good tutorial on UITableView
s
然后,您将需要了解如何在UIViewController
之间传递数据。 Tutorial
因此,您在代码中的步骤将是:
UITableView
以显示顶级元素。 UITableViewController
以在选择顶级项目后推送到。 UITableViewController
设置自定义初始值设定项,以便您可以从解析JSON
的第一个视图控制器传递相关数据。 我假设你正在寻找一堆关于如何做到这一点的代码,但这并不好玩:)
如果您遇到任何麻烦,请告诉我,我很乐意提供帮助。
修改强>
我知道我说我不会转码但是我有一些额外的时间。
创建一个名为NSObject
的{{1}}子类,并使ProductObject
看起来像这样:
.h
不要对#import <Foundation/Foundation.h>
@interface ProductObject : NSObject
@property NSString *productCode, *productTitle, *franchiseId, *productId;
@end
创建另一个名为.m
的{{1}}子类,并使NSObject
看起来像这样:
CategoryObject
同样,不需要对.h
执行任何操作。
现在,在要显示#import <Foundation/Foundation.h>
@interface CategoryObject : NSObject
@property NSString *categoryName, *categoryId;
@property NSArray *products;
@end
的班级中,产品和类别(这一切都在.m
中,UITableView
为空):
.m
编辑:
如果您想像手风琴一样打开和关闭桌子的某些部分,请查看Apple的相同代码:Table View Animations and Gestures。