私の主な見解では、2つのビューからデータを収集しています。メインビューから開始し、次のビューに移動してデータを取得し、元のビューに戻ります。私は最後のビューに行き、より多くのデータを取得しますが、私が元に戻ったときに元のデータはなくなりました。それを保存するにはどうすればいいですか?ビューを終了するときに変数を保存する方法
viewWillDisappear
を使用しようとしましたが、機能しませんでした。これは良いアプローチですか、もしそうなら、私はそれをどうやって使うのですか?
これら
はセグエを経由して入ってくるデータの2つの部分である:var homeTeamName = String()
var awayTeamName = String()
私はロード時にこれを行う:廃止
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib. }
HomeName.text = homeTeamName
HomeImage.image = UIImage(named:homeTeamName)
AwayName.text = awayTeamName
AwayImage.image = UIImage(named:awayTeamName)
}
Note:
すべて1つのビューから来て、そしてすべてのものを持ちます家は別の家から来ている。
は今、私はこのように保存しています:
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
UserDefaults.standard.string(forKey: "homeTeamName")
}
がまだ機能していない:
override func viewWillDisappear(_ animated: Bool) {
UserDefaults.standard.set("value", forKey: "homeTeamName")
}
は次のように取得します。
ありがとうございます!
デリゲートパターンを試しましたか? –
あなたは私の以前のansを確認することができます同じのためのappdelegateを使用することができますhttps://stackoverflow.com/questions/45407423/sharing-data-between-multiple-view-controllers-without-segue-swift-3/45408261#45408261 。 – luckyShubhra
この問題を修正しましたか? –