現在、私のアプリではswift(完全に新しい)を学ぶために働いています。そして、私はちょうど起こることができないエラーを見つけた。 私は2つのビューコントローラを持つ私のストーリーボードに2つのビューを持っています。ViewController &設定。エラーUIViewControllerにはメンバーがありません
「設定」ビューにはtextfield
があり、「ViewController」ビューにはラベルがあります。私は「のViewController」に私のラベルに「設定」でテキストフィールドから
をテキストを渡したい
は現在、私は次のエラーを取得する:
value of type 'UIViewController' has no member 'ViewController'
私のコードは、入力のために多少のようになりますフィールド:ラベルの
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
var secondVC: ViewController = segue.destination.ViewController as ViewController
secondVC.receivedString = textField.text!
}
:
class ViewController: UIViewController {
@IBOutlet var city: UILabel!
var receivedString: String = ""
override func viewDidLoad() {
super.viewDidLoad()
label.text = receivedString
}
「label.textは」それだけでsegue.destination
segue.destination.ViewController
ではありませんスウィフト3で先viewController
を取得するには...あまりにも私に
うーん、それは私が言うことを決定した場合、エラーを削除しなかったしなければならない名前
city
ないlabel
でUILabel
を宣言している: オーバーライドfuncがセグエのために(準備します。 UIStoryboardSegue、送信者:Any?){ secondVC = segue.destinationを! ViewController secondVC.label = textField.text! –私は何をしたのでしょうか?そうするのがベストプラクティスではありませんか? –
@JeppeCあなたは 'receivedString'オブジェクトを持つ文字列を渡して' prepare(for::sender:) 'のためにデータを渡す正しい方法である' viewDidLoad'に都市ラベルのテキストを割り当てます。UILabelオブジェクトは初期化されませんまだ。 –