【发布时间】:2010-10-24 13:41:51
【问题描述】:
我想为 iPhone 应用程序实现一些编辑机制,即我希望用户能够编辑我的模型的实例。该模型包含两种类型的数据:第一种只是一个 NSString,用户几乎可以在其中编写他喜欢的任何内容。第二个是选择,他可以从一些给定的值中选择一个。
我的目标是调整 Apple 在其“设置”应用中使用的方式。例如,在设置应用程序中,Apple 提供了一个模式视图来输入邮件帐户的信息。用户必须输入姓名、地址、密码等字符串,并且必须从 SMTP 服务器的身份验证方法中的四个选项之一中进行选择。
我必须自己实现这一切吗?只需使用UITableViewCellStyleValue2 单元格在表格视图中显示数据并启用编辑,我就只有机会添加或删除条目。然而,这显然不是我想要的。
如果我确实必须自己实施,最佳做法是什么?创建带有标签和UITextField 的自定义单元格没有问题,但我总共需要大约 25 个这样的单元格。我发现如果单元格移出屏幕,则没有机会收到通知,那么如何最好地保存用户输入的数据?
我目前的想法是将自定义单元格中的 UITextField “绑定”到我的模型中的关键路径。 IE。我提供了更新到我的自定义单元格的关键路径,并在收到UITextFieldTextDidChangeNotification 时从我的控制器调用[model setValue:cell.textField.text forKeyPath:cell.keyPath];。那么为每个按键更新模型是个好主意吗?我怀疑这是否表现良好。对于多选单元格,我在模态视图中添加了一个 UINavigationController。
有没有更好的想法?
【问题讨论】:
标签: iphone objective-c model settings editing