【问题标题】:Use segue or some other method to show uiviewcontroller to create a new row for uitableview使用 segue 或其他方法显示 uiviewcontroller 为 uitableview 创建新行
【发布时间】:2012-09-05 21:20:27
【问题描述】:

我有一个 uitableview,在导航栏中我有一个 + 按钮,旨在允许用户转到 tableview 中项目的 uiviewcontroller 的可编辑版本并让他们创建一个新的“记录”。我有 + 按钮设置对 uiviewcontroller 进行 segue,就像您在查看 tableview 列表中的“记录”之一的详细信息时所做的一样。我试图了解这种技术是否可行,或者我应该以不同的方式显示 uiviewcontroller 以便用户创建新数据,例如模态或简单地以编程方式显示 uiviewcontroller 而不是使用序列。谢谢。我希望我说得通。

【问题讨论】:

  • 有人有任何问题或更多想法吗?我担心我可能不是最好的方法。 + 按钮确实连接到 uiviewcontroller,并且在 prepareforsegue 中我表示这是创建,所以当加载 uiviewcontroller 时,我在导航栏中添加保存按钮。用户输入数据并点击保存按钮,当用户点击返回按钮时,我将数据写入 json 文件并重新加载 tableview。这一切似乎都有效,但我担心我不应该使用 segue 来允许用户创建新数据,它应该是 uiviewcontroller 的模态编程显示,这是我主要关心的问题。

标签: iphone objective-c ios ios5


【解决方案1】:

您可以在 prepareForSegue 中创建新对象,并将其设置在目标控制器的属性中。这是否有意义取决于您的应用程序的逻辑和流程;从技术上讲,它没有任何问题。需要注意的一件事是,如果用户在此过程中选择退出,例如,他们退出导航,这会给您留下一个插入的垃圾对象。 (假设它是某种 NSManagedObject,当然)所以你可能想要很好地处理这种情况,以防止在你以前的表视图中出现空白行。您也可以以模态方式执行此操作,无论哪种方式,您都可以在保存到目标控制器时创建对象,从而防止出现空白。但是,您可能需要做一些额外的工作才能让原始控制器引用这个新对象。希望有帮助。

【讨论】:

  • 好吧,到目前为止,我所做的是 + 按钮确实与 uiviewcontroller 保持一致,并且在 prepareforsegue 中我知道它是用于创建的,因此当加载 uiviewcontroller 时,我在导航栏中放置了一个保存按钮。用户输入数据并点击保存按钮,我将数据写入 json 文件,然后当用户使用后退按钮返回时将重新加载 tableview。这一切似乎都正常,但我担心我不应该使用 segue 来允许用户创建新数据,它应该是 uiviewcontroller 的模态编程显示,这是我主要关心的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-27
  • 1970-01-01
相关资源
最近更新 更多