我正在寻求构建一个报告系统,它将包含 jar 头报告和用户创建的报告,对于每个报告,我都需要名称、描述和信息,它将包含在下面的结构中jsonlint 表示一个名为“审查进度”的报告(在固定报告结构内)将需要的所有数据。
{
"Canned": [
{
"Name": "Review Progress",
"Description": "Quick Look at ...",
"Contents": {
"Collections": [],
"Filters": [],
"Facets": {
"Review Status": [
{
"Reviewed": {
"value": "300",
"enabled": "true"
}
},
{
"Not Reviewed": {
"value": "150",
"enabled": "false"
}
}
]
}
}
}
]
我是否通过创建一系列字典和数组在这里咆哮错误的树,因为访问其中的项目以设置 tableview 将开始看起来像这样?
cell.textLabel.text = self.reports[indexPath.section][@"Reports"][indexPath.row][@"Name"];
有人会建议使用不同的方法,例如 coredata/某种 DB 以方便使用吗?我问,因为用户将能够创建他们自己的报告,这些报告必须具有相同的数据。
最佳答案
一个快速的方法应该是使用 JSON Accelerator (自由的) 从您的 JSON 生成对象模型。
然后将此存储库提供的类别添加到“顶级”生成的类模型中:
https://github.com/psineur/NSObject-AutomagicCoding
轻松加载/保存字典表示(即 plist/json 结构化数据)到文档文件夹
这将与
完全相同cell.textLabel.text = self.reports[indexPath.section][@"Reports"][indexPath.row][@"Name"];
但在我看来,由于对象模型更清晰
关于ios - Obj-C/iOS 是像 plist 这样的数据结构好还是像 coredata 这样的东西更容易使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18408118/