質問編集履歴

3 VCの詳細を記入

退会済みユーザー

退会済みユーザー

2018/12/26 14:50  投稿

[初歩的質問]画面遷移のエラー
##前提・実現したいこと
swift初心者です。くだらない質問です
本当に初歩的な質問で申し訳ありません。
VC間で「見た・見てない」の判定で画像を写して判断してもらい、
何を選んだかををtagで判断しています。
選んだものを最終的に結果画面表示時に点数化しわかるようにしたいです。
今困っているのは、変数をVC間に記入していると「Use of unresolved identifier...」と
実行できずこのエラーが出てしまいます。
これを修正し、画面遷移とこのtagがしっかり判定されているのを確認したいのですが、
修正方法がわかりません。教えていただきたいです。
##エラー
VCのUIButtonによる画面遷移で次のVCに遷移が出来ないでいます。
Use of unresolved identifier 'ViewController_r4'
##対象コード1
```
##対象コード
ViewController_r3、ViewController_r4のようにこの形のものが残り3つほどが画面遷移でつながっています。
この全てのVC間で出来ずにいます。下記のコードは一部です。
```swift
var r3answer:Int = 0
class ViewController_r3:UIViewController{
 
   
   
   override func loadView(){
       let view = UIView()
       view.frame = CGRect(x:0, y:0, width:375, height:669)
       view.backgroundColor = .white
       self.view = view
       
       let image1:UIImage = UIImage(named:"画像")!
       let imageView1 = UIImageView(image:image1)
       
       let screenWidth:CGFloat = view.frame.size.width
       let screenHeight:CGFloat = view.frame.size.height
       
       imageView1.center = CGPoint(x:screenWidth/2, y:screenHeight/2)
       imageView1.frame = CGRect(x:85, y:150, width:200, height:200)
       view.addSubview(imageView1)
       
       let btn_r31 = UIButton()
       btn_r31.frame = CGRect(x:110, y:450, width:150, height:50)
       btn_r31.setTitle("見た", for:.normal)
       btn_r31.setTitleColor(UIColor.white, for:.highlighted)
       btn_r31.backgroundColor = .blue
       btn_r31.layer.cornerRadius = 20.0
       btn_r31.addTarget(self, action:#selector(onClick(_:)), for:.touchUpInside)
       btn_r31.tag = 1
       view.addSubview(btn_r31)
       
       let btn_r32 = UIButton()
       btn_r32.frame = CGRect(x:110, y:510, width:150, height:50)
       btn_r32.setTitle("見ていない", for:.normal)
       btn_r32.setTitleColor(UIColor.white, for:.highlighted)
       btn_r32.backgroundColor = .blue
       btn_r32.layer.cornerRadius = 20.0
       btn_r32.addTarget(self, action:#selector(onClick(_:)), for:.touchUpInside)
       btn_r32.tag = 2
       view.addSubview(btn_r32)
       
       
   }
   @objc func onClick(_ sender:UIButton){
       print(sender.tag);
       
       let nextvc = ViewController_r4() //ここにエラーが出ます
       if sender.tag == 2 {
           r3answer = 0
       }
       self.present(nextvc, animated:true, completion: nil)
       
   }
   @objc func tappB(_ sender:UIButton){
       
       let nextvc = ViewController_r3()
       
       self.present(nextvc, animated: true, completion: nil)
   }
   
}
 
 
var r4answer:Int = 0  
class ViewController_r4:UIViewController {  
     
   override func loadView() {  
         
       let view = UIView()  
       view.frame = CGRect(x:0, y:0, width:375, height:669)  
       view.backgroundColor = .white  
       self.view = view  
         
       let image2:UIImage = UIImage(named:"画像")!  
       let imageView2 = UIImageView(image:image2)  
         
       let screenWidth:CGFloat = view.frame.size.width  
       let screenHeight:CGFloat = view.frame.size.height  
         
       imageView2.center = CGPoint(x:screenWidth/2, y:screenHeight/2)  
       imageView2.frame = CGRect(x:70, y:150, width:220, height:230)  
       view.addSubview(imageView2)  
         
       let btn_r41 = UIButton()  
       btn_r41.frame = CGRect(x:110, y:450, width:150, height:50)  
       btn_r41.setTitle("見た", for:.normal)  
       btn_r41.setTitleColor(UIColor.white, for:.highlighted)  
       btn_r41.backgroundColor = .blue  
       btn_r41.layer.cornerRadius = 20.0  
       btn_r41.addTarget(self, action:#selector(onClick(_:)), for:.touchUpInside)  
       btn_r41.tag = 1  
       view.addSubview(btn_r41)  
         
       let btn_r42 = UIButton()  
       btn_r42.frame = CGRect(x:110, y:510, width:150, height:50)  
       btn_r42.setTitle("見ていない", for:.normal)  
       btn_r42.setTitleColor(UIColor.white, for:.highlighted)  
       btn_r42.backgroundColor = .blue  
       btn_r42.layer.cornerRadius = 20.0  
       btn_r42.addTarget(self, action:#selector(onClick(_:)), for:.touchUpInside)  
       btn_r42.tag = 2  
       view.addSubview(btn_r42)  
         
   }  
   @objc func onClick(_ sender:UIButton){  
       print(sender.tag);  
         
       let nextvc = ViewController_r5()  
       if sender.tag == 2 {  
           r4answer = 0  
       }  
       self.present(nextvc, animated: true, completion: nil)  
   }  
   
}  
```
  • Xcode

    8134 questions

    Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

  • Swift

    14094 questions

    Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

2 URLを消しました

退会済みユーザー

退会済みユーザー

2018/12/26 14:37  投稿

[超初歩的質問]画面遷移のエラーの修正方法を教えていただきたいです。
[初歩的質問]画面遷移のエラー
##前提・実現したいこと
swift初心者です。くだらない質問です
本当に初歩的な質問で申し訳ありません。
VC間で「見た・見てない」の判定で画像を写して判断してもらい、
何を選んだかををtagで判断しています。
選んだものを最終的に結果画面表示時に点数化しわかるようにしたいです。
今困っているのは、変数をVC間に記入していると「Use of unresolved identifier...」と
実行できずこのエラーが出てしまいます。
これを修正し、画面遷移とこのtagがしっかり判定されているのを確認したいのですが、
修正方法がわかりません。教えていただきたいです。
##エラー
VCのUIButtonによる画面遷移で次のVCに遷移が出来ないでいます。
Use of unresolved identifier 'ViewController_r4'
##対象コード1
```
var r3answer:Int = 0
class ViewController_r3:UIViewController{
 
   
   
   override func loadView(){
       let view = UIView()
       view.frame = CGRect(x:0, y:0, width:375, height:669)
       view.backgroundColor = .white
       self.view = view
       
       let image1:UIImage = UIImage(named:"042802.jpg")!
       let image1:UIImage = UIImage(named:"画像")!
       let imageView1 = UIImageView(image:image1)
       
       let screenWidth:CGFloat = view.frame.size.width
       let screenHeight:CGFloat = view.frame.size.height
       
       imageView1.center = CGPoint(x:screenWidth/2, y:screenHeight/2)
       imageView1.frame = CGRect(x:85, y:150, width:200, height:200)
       view.addSubview(imageView1)
       
       let btn_r31 = UIButton()
       btn_r31.frame = CGRect(x:110, y:450, width:150, height:50)
       btn_r31.setTitle("見た", for:.normal)
       btn_r31.setTitleColor(UIColor.white, for:.highlighted)
       btn_r31.backgroundColor = .blue
       btn_r31.layer.cornerRadius = 20.0
       btn_r31.addTarget(self, action:#selector(onClick(_:)), for:.touchUpInside)
       btn_r31.tag = 1
       view.addSubview(btn_r31)
       
       let btn_r32 = UIButton()
       btn_r32.frame = CGRect(x:110, y:510, width:150, height:50)
       btn_r32.setTitle("見ていない", for:.normal)
       btn_r32.setTitleColor(UIColor.white, for:.highlighted)
       btn_r32.backgroundColor = .blue
       btn_r32.layer.cornerRadius = 20.0
       btn_r32.addTarget(self, action:#selector(onClick(_:)), for:.touchUpInside)
       btn_r32.tag = 2
       view.addSubview(btn_r32)
       
       
   }
   @objc func onClick(_ sender:UIButton){
       print(sender.tag);
       
       let nextvc = ViewController_r4() //ここにエラーが出ます
       if sender.tag == 2 {
           r3answer = 0
       }
       self.present(nextvc, animated:true, completion: nil)
       
   }
   @objc func tappB(_ sender:UIButton){
       
       let nextvc = ViewController_r3()
       
       self.present(nextvc, animated: true, completion: nil)
   }
   
}
```
  • Xcode

    8134 questions

    Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

  • Swift

    14094 questions

    Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

1 修正依頼のところを修正

退会済みユーザー

退会済みユーザー

2018/12/26 14:35  投稿

[超初歩的質問]変数の宣言について
[超初歩的質問]画面遷移のエラーの修正方法を教えていただきたいです。
##前提・実現したいこと
swift初心者です。くだらない質問です
本当に初歩的な質問で申し訳ありません。
VC間で「見た・見てない」の判定で画像を写して判断してもらい、
何を選んだかををtagで判断しています。
選んだものを最終的に結果画面表示時に点数化しわかるようにしたいです。
今困っているのは、変数をVC間に記入していると「Use of unresolved identifier...」と  
実行できずこのエラーが出てしまいます。  
これを修正し、画面遷移とこのtagがしっかり判定されているのを確認したいのですが、  
修正方法がわかりません。教えていただきたいです。  
 
##エラー
VCのUIButtonによる画面遷移で次のVCに遷移が出来ないでいます。
Use of unresolved identifier 'ViewController_r5'
Use of unresolved identifier 'ViewController_r4'
##対象コード
```swift```
##対象コード1
```
var r3answer:Int = 0
class ViewController_r3:UIViewController{
 
   
   
   override func loadView(){
       let view = UIView()
       view.frame = CGRect(x:0, y:0, width:375, height:669)
       view.backgroundColor = .white
       self.view = view
       
       let image1:UIImage = UIImage(named:"画像")!
       let image1:UIImage = UIImage(named:"042802.jpg")!
       let imageView1 = UIImageView(image:image1)
       
       let screenWidth:CGFloat = view.frame.size.width
       let screenHeight:CGFloat = view.frame.size.height
       
       imageView1.center = CGPoint(x:screenWidth/2, y:screenHeight/2)
       imageView1.frame = CGRect(x:85, y:150, width:200, height:200)
       view.addSubview(imageView1)
       
       let btn_r31 = UIButton()
       btn_r31.frame = CGRect(x:110, y:450, width:150, height:50)
       btn_r31.setTitle("見た", for:.normal)
       btn_r31.setTitleColor(UIColor.white, for:.highlighted)
       btn_r31.backgroundColor = .blue
       btn_r31.layer.cornerRadius = 20.0
       btn_r31.addTarget(self, action:#selector(onClick(_:)), for:.touchUpInside)
       btn_r31.tag = 1
       view.addSubview(btn_r31)
       
       let btn_r32 = UIButton()
       btn_r32.frame = CGRect(x:110, y:510, width:150, height:50)
       btn_r32.setTitle("見ていない", for:.normal)
       btn_r32.setTitleColor(UIColor.white, for:.highlighted)
       btn_r32.backgroundColor = .blue
       btn_r32.layer.cornerRadius = 20.0
       btn_r32.addTarget(self, action:#selector(onClick(_:)), for:.touchUpInside)
       btn_r32.tag = 2
       view.addSubview(btn_r32)
       
       
   }
   @objc func onClick(_ sender:UIButton){
       print(sender.tag);
       
       let nextvc = ViewController_r4()
       let nextvc = ViewController_r4() //ここにエラーが出ます
       if sender.tag == 2 {
           r3answer = 0
       }
       self.present(nextvc, animated:true, completion: nil)
       
   }
   @objc func tappB(_ sender:UIButton){
       
       let nextvc = ViewController_r3()
       
       self.present(nextvc, animated: true, completion: nil)
   }
   
}
var r4answer:Int = 0  
class ViewController_r4:UIViewController {  
     
     
     
   override func loadView() {  
         
       let view = UIView()  
       view.frame = CGRect(x:0, y:0, width:375, height:669)  
       view.backgroundColor = .white  
       self.view = view  
         
       let image2:UIImage = UIImage(named:"画像")!  
       let imageView2 = UIImageView(image:image2)  
         
       let screenWidth:CGFloat = view.frame.size.width  
       let screenHeight:CGFloat = view.frame.size.height  
         
       imageView2.center = CGPoint(x:screenWidth/2, y:screenHeight/2)  
       imageView2.frame = CGRect(x:70, y:150, width:220, height:230)  
       view.addSubview(imageView2)  
         
       let btn_r41 = UIButton()  
       btn_r41.frame = CGRect(x:110, y:450, width:150, height:50)  
       btn_r41.setTitle("見た", for:.normal)  
       btn_r41.setTitleColor(UIColor.white, for:.highlighted)  
       btn_r41.backgroundColor = .blue  
       btn_r41.layer.cornerRadius = 20.0  
       btn_r41.addTarget(self, action:#selector(onClick(_:)), for:.touchUpInside)  
       btn_r41.tag = 1  
       view.addSubview(btn_r41)  
         
       let btn_r42 = UIButton()  
       btn_r42.frame = CGRect(x:110, y:510, width:150, height:50)  
       btn_r42.setTitle("見ていない", for:.normal)  
       btn_r42.setTitleColor(UIColor.white, for:.highlighted)  
       btn_r42.backgroundColor = .blue  
       btn_r42.layer.cornerRadius = 20.0  
       btn_r42.addTarget(self, action:#selector(onClick(_:)), for:.touchUpInside)  
       btn_r42.tag = 2  
       view.addSubview(btn_r42)  
         
   }  
   @objc func onClick(_ sender:UIButton){  
       print(sender.tag);  
         
       let nextvc = ViewController_r5()  
       if sender.tag == 2 {  
           r4answer = 0  
       }  
       self.present(nextvc, animated: true, completion: nil)  
   }  
   
}  
```
  • Xcode

    8134 questions

    Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

  • Swift

    14094 questions

    Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る