デリゲートプロトコルと別のinitクラスファイルを使用して、1つのswiftファイルから別のビューコントローラに情報を渡そうとしています。私が転送したい変数を呼び出すと、私の問題が発生し、それはゼロとして表示されます。私は、saveButtonがタップされたときに、1つのswiftファイルから別のswiftファイルにageDescriptionを渡すことができるようにします。私は変数を呼び出すことができるように私が何を変えることができるのだろうかと思っていました。スウィフトファイル間で情報を渡すことができません
最初のビューコントローラは
@IBAction func ageChanged(sender: UISegmentedControl) {
switch age.selectedSegmentIndex {
case 0:
print("Under 18")
var ageDescription = "under 18"
let data = Data(ageData: ageDescription)
case 1:
print("Over 18")
var ageDescription = "over 18"
let data = Data(ageData: ageDescription)
case 2:
print("Strictly over 21")
var ageDescription = "strictly over 21"
let data = Data(ageData: ageDescription)
default:
print("IDK")
}
}
他のビューコントローラ
@IBAction func saveButtonTapped(sender: UIBarButtonItem) {
func getData(data: Data) {
print(data.ageData)
}
Iに準拠しますprepareForSegueのオーバーライドをOtherVCに入力しましたが、self.ageDescriptionは認識されません。おそらく私はグローバル変数を正しく設定していないでしょうか?最初のVCで[var ageDescription:String = String()]を初期化しました。私がSwiftを初めて知りましたので、あなたの忍耐力に感謝します。 – Kevin
View ControllerのSegueメソッドを、そのsegueを実行しているボタン、つまりあなたが来ていない、行っていないボタンで上書きしたいとします。そして、クラス内の変数宣言を確認してください。 – TheValyreanGroup
あなたがそれを理解できない場合は、クラス名を掲示してください。私はあなたがそれを行うのに必要な正確な方法で私の答えを編集します。 – TheValyreanGroup