订阅应用

Subscription app

我目前正在开发订阅应用程序。 我目前有 6 个视图控制器,它们有不同的选项。 例如-姓名-金额-日期等

一旦用户完成这些,我希望它用这些信息创建一个新的视图控制器。 因此,一旦他们返回到主屏幕,他们将能够向左滑动并显示他们的订阅。

我想知道的是,有没有一种方法可以在他们按下“日期”页面上的完成按钮后使用他们的信息创建一个新的视图控制器? 将数据传输到视图控制器是比较容易的部分。我更想知道当他们尝试添加另一个订阅时我如何创建一个新的视图控制器,如果这有意义的话。

如果没有,我有办法做到这一点吗?

你有两个我能想到的选项。我相信还有更多,但这些可能会有所帮助。

  1. 您可以为您的 "subscription to add" 创建一个结构的全局实例。然后,您可以在每个 VC 被取消
  2. 后更新此结构的每个 属性 的值(例如名称、数量、日期等)
  3. 您可以将用户生成的数据传递给每个 VC 到 prepareForSegue。这有点多余,所以我建议使用第一种方法。作为记录,这个 segue 方法看起来像这样:

VC 1 被驳回:将名称传递给 VC2

VC 2 被驳回:将姓名和金额传递给 VC3

VC 3 被驳回:将姓名、金额和日期传递给 VC4 等......

获得所有信息后,您可以显示最后一个 VC 并将标签等设置为您的结构值,或您通过 segue 传递的值。

编辑:关于选项 1 的更多信息

因此,如果您创建这样的结构:

struct UserToAdd {
    static var name: String = String()
    static var amount: Int = 0
    static var date: Date = Date()
}

有了您希望订阅具有的所有属性,然后您可以在每个 VC.

的过程中将此信息存储在此结构中

例如,如果您的第一个 VC 获得了订阅名称,那么当您的 "prepareForSegue" 函数被调用时,因为您即将移动到第二个 VC,那么您可以这样做:

UserToAdd.name = "My Subscription Name"

当然,您分配给该名称的字符串将取决于用户输入的数据等,但我希望它能说明我的观点。对于每个初始 VC,这将是一个类似的过程,但是一旦您拥有所需的所有数据,您就可以在最后一个 VC 加载时调用此数据,并将其设置为文本标签或类似这样的东西:

var nameLabel = UILabel()
nameLabel.text = UserToAdd.name
self.view.addSubview(nameLabel);

如果您还有其他问题,请告诉我。