前提・実現したいこと
ChangeViewControllerのTextFiledで入力した文字列を画面遷移先であるNextViewControllerに値渡ししてラベルに表示させたいのですがエラーが出てしまいました。画面遷移はpresent()で行なっています。その他UI部品も全てコードで書いています。NextViewControllerにclstringと言う変数は書いてあるはずなのですが、この場合どうしたら良いのでしょうか?よろしくお願いします
発生している問題・エラーメッセージ
nstance member 'clnamestring' cannot be used on type 'NextViewController'
該当のソースコード
ChangeViewController.swift
swift
1import UIKit 2 3class ChangeViewController: UIViewController { 4 override func viewDidLoad() { 5 super.viewDidLoad() 6 7 let navBar = UINavigationBar()//ナビゲーションバー 8 navBar.frame = CGRect(x: 0,y: 50,width: 415,height: 60) 9 let navItem : UINavigationItem = UINavigationItem(title: "月曜1限") 10 navItem.leftBarButtonItem = UIBarButtonItem(title: "戻る",style: UIBarButtonItem.Style.plain, target: self, action: #selector(ChangeViewController.backbutton)) 11 navBar.pushItem(navItem, animated: true) 12 self.view.addSubview(navBar) 13 14 15 let click = UIButton()//変更ボタン 16 click.frame = CGRect(x:180, y:800, width: 100,height: 50) 17 click.setTitle("変更", for: .normal) 18 click.backgroundColor = UIColor.purple 19 click.addTarget(self, action: #selector(ChangeViewController.changeButton), for: .touchUpInside) 20 view.addSubview(click) 21 22 let CLname = UITextField() 23 CLname.frame = CGRect(x: 50,y: 100,width: 300,height: 50) 24 CLname.placeholder = "授業名" 25 CLname.keyboardType = .default 26 CLname.borderStyle = .roundedRect 27 CLname.returnKeyType = .done 28 self.view.addSubview(CLname) 29 } 30 31 32 33 34 @objc func backbutton(_ sender:UIButton){ 35 self.dismiss(animated: true, completion: nil) 36 } 37 @objc func changeButton(_ sender:UIButton){ 38 let storyboard :UIStoryboard = self.storyboard! 39 let changeview = storyboard.instantiateViewController(withIdentifier: "next")as! NextViewController 40 NextViewController.clnamestring = ChangeViewController.CLname.text! 41 self.present(changeview,animated: true,completion: nil) 42 43 44 } 45 46
NextViewController.swift
swift
1import UIKit 2 3class NextViewController: UIViewController { 4 5 var clnamestring = "" 6 7 override func viewDidLoad() { 8 super.viewDidLoad() 9 10 11 12 let changeButton = UIButton()//編集ボタン 13 changeButton.frame = CGRect(x: 300,y: 700,width: 100,height: 100) 14 changeButton.setTitle("編集", for: .normal) 15 changeButton.backgroundColor = UIColor.blue 16 changeButton.addTarget(self, action: #selector(NextViewController.changebutton), for: .touchUpInside) 17 view.addSubview(changeButton) 18 19 20 21 let navBar = UINavigationBar() 22 navBar.frame = CGRect(x: 0,y: 50,width: 415,height: 60) 23 let navItem : UINavigationItem = UINavigationItem(title: "月曜1限") 24 navItem.leftBarButtonItem = UIBarButtonItem(title: "戻る",style: UIBarButtonItem.Style.plain, target: self, action: #selector(NextViewController.backvcbutton)) 25 navBar.pushItem(navItem, animated: true) 26 self.view.addSubview(navBar) 27 28 29 30 let clname = UILabel() 31 clname.frame = CGRect(x:50,y: 180,width: 315,height: 40) 32 clname.text = clnamestring 33 clname.backgroundColor = UIColor.lightGray 34 self.view.addSubview(clname) 35 36 37 38 39 40 } 41 42 @objc func changebutton(sender: UIButton){ 43 let storyboard :UIStoryboard = self.storyboard! 44 let changeview = storyboard.instantiateViewController(withIdentifier: "change")as! ChangeViewController 45 self.present(changeview,animated: true,completion: nil) 46 47 48 } 49 @objc func backvcbutton(_ sender:UIButton){ 50 self.dismiss(animated: true, completion: nil) 51 52 } 53 54 55} 56
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/19 16:22