你有两个我能想到的选择。我相信还有更多,但这些可能会有所帮助。
- 您可以创建一个结构的全局实例,即您的“订阅添加”。在每个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);
让我知道你是否还有其他问题。
您遇到了“创建新视图控制器”或“将用户数据传递给视图控制器”的问题? –
它更创造一个新的视图控制器。我基本上就是这么想的,当他们把数据放在Name - Amount - 将会去视图控制器的日期。但如果他们再次这样做,我希望它创建另一个视图控制器。如果这是有道理的 –
请参阅[链接](https://github.com/bizz84/SwiftyStoreKit),你可以实现 –