1

我正在为带有 rails 后端的 iPhone 制作一个简单的待办事项列表应用程序。

到目前为止,我可以tasks从 Web 应用程序中提取待办事项列表中的所有内容,解析 JSON,并将其插入 UITableView。

来自 rails 的 json 响应:

[
  {"id":1,"name":"Buy bread"},
  {"id":8,"name":"Get gas"},
  {"id":14,"name":"Call John"}
]

在 UITableView 中,每个任务对应一行,单元格的 textLabel 就是任务的名称:

在此处输入图像描述

我现在遇到的问题是如何将单元格与任务的记录 ID 相关联。

两个任务可以具有相同的名称,因此我不能仅根据名称从哈希中获取 id。

我需要记录 id,所以我可以在用户编辑 UItableView(例如删除任务)后回发到 rails 应用程序。

我可以在单元格上设置属性吗?我觉得我错过了一些明显的东西。这是我的第一个iPhone应用程序,所以请温柔,嘿嘿。

4

2 回答 2

2

您如何将 JSON 数组转换为 Objective-C 数组以在表中使用?您必须为任务的 ID 再次执行此操作,并且在您的- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath方法中使用类似theID = [idArray objectAtIndex:indexPath.row];

于 2012-07-19T20:05:39.563 回答
1

更好的解决方案是在客户端上维护适当的数据模型。您可以使用 JSON 作为模型,但 Core Data 更健壮一些。你想要的是让你的控制器将它对视图的了解与它对模型的了解联系起来。例如,如果您使用 didSelectRowAtIndexPath: 您希望使用此索引路径映射到您的模型。

您在单元格上设置属性以允许您的视图客户端查询您的数据模型的解决方案违反了 MVC 范式的规则。它将您的视图与您的模型相结合,这不是很好。

于 2012-07-19T21:37:46.803 回答