你有兩個我能想到的選擇。我相信還有更多,但這些可能會有所幫助。
- 您可以創建一個結構的全局實例,即您的「訂閱添加」。在每個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),你可以實現 –