订阅应用程序
我目前正在开发订阅应用程序。 我目前有6个视图控制器,其上有不同的选项。 例如 - 名称 - 金额 - 日期等订阅应用程序
一旦用户完成这些,我希望它创建一个新的视图控制器与此信息。 所以一旦他们回到主屏幕上,他们将能够向左滑动并显示其订阅。
我想知道的是,有没有一种方法可以创建一个新的视图控制器及其信息,一旦他们按下日期页面上的完整按钮?将数据传输到视图控制器是很简单的部分。我更想知道如何创建一个新的视图控制器,当他们尝试并添加另一个订阅,如果这是有道理的。
如果没有,我可以做到这一点吗?
你有两个我能想到的选择。我相信还有更多,但这些可能会有所帮助。
- 您可以创建一个结构的全局实例,即您的“订阅添加”。在每个VC被解雇后,您可以更新此结构的每个属性的值(例如名称,金额,日期等)
- 您可以通过
prepareForSegue
将用户生成的数据传递给每个VC。这有点多余,所以我会建议做第一种方法。根据记录,这赛格瑞方法会是这个样子:
VC 1辞退:通行证名称VC2
VC 2辞退:通行证名称和数量VC3
VC 3辞退:通名称,金额和日期到VC4等......
一旦你有所有的信息,你可以显示最后一个VC,只需设置标签等你的结构的值,或值你通过了赛格。
编辑:在选项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);
让我知道你是否还有其他问题。
感谢您的回答,如果您不介意,您可以给我更多关于选项1的详细信息吗? –
好的,谢谢你,我会在之前给你的,并会让你知道:) –
你可以把结构放在任何你想要的地方,它不能在一个类中,这样你就可以在每个VC中达到它。 –
您遇到了“创建新视图控制器”或“将用户数据传递给视图控制器”的问题? –
它更创造一个新的视图控制器。我基本上就是这么想的,当他们把数据放在Name - Amount - 将会去视图控制器的日期。但如果他们再次这样做,我希望它创建另一个视图控制器。如果这是有道理的 –
请参阅[链接](https://github.com/bizz84/SwiftyStoreKit),你可以实现 –