ios 如何将可扩展视图单元Map到远程数据库后端?

hgb9j2n6  于 5个月前  发布在  iOS
关注(0)|答案(2)|浏览(68)

我正在为iPhone制作一个简单的待办事项列表应用程序,并带有Rails后端。
到目前为止,我可以从Web应用程序中提取To-Do列表中的所有tasks,解析JSON,并将其插入到可扩展视图中。
Rails的JSON响应:

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

字符串
在可扩展视图中,每个任务对应一行,单元格的textLabel是任务的名称:
x1c 0d1x的数据
我现在遇到的问题是如何将单元格与任务的记录ID相关联。
两个任务可以有相同的名称,所以我不能只根据名称从哈希中获取id。
我需要记录id,这样我就可以在用户编辑UItableView(例如删除一个任务)后回发到rails应用程序。
手机上有没有属性可以设置的?感觉少了点明显的东西,这是我第一个iPhone应用,请温柔点,呵呵。

nfzehxib

nfzehxib1#

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

ecfsfe2w

ecfsfe2w2#

更好的解决方案是在客户端维护一个适当的数据模型。您可以使用JSON作为模型,但Core Data更健壮一些。您需要的是让控制器将它对视图的了解与它对模型的了解相关联。例如,如果您使用didSelectRowAtIndexPath:您需要使用此索引路径Map到您的模型。
你在单元格上设置一个属性,允许你的视图的客户端查询你的数据模型,这违反了MVC范式的规则,它把你的视图和你的模型耦合在一起,这并不好。

相关问题