質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Swift

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

Q&A

解決済

2回答

581閲覧

Swiftでデータの受け渡しをしたいです。

退会済みユーザー

退会済みユーザー

総合スコア0

Swift

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

0グッド

0クリップ

投稿2019/08/11 11:07

編集2019/08/13 12:58

前提・実現したいこと

Detail SceneからTable View(?)のタイトルに影響を与えるためにBOOL値を渡したいです。

XcodeでMaster Detail App(フレームワークというのでしょうか)を使ってアプリを作ろうとしています。言語はswift。思いつく方法がセグエしか無かったのでセグエを使う書き方でしていますが他にあるならそれでも構いません。!

追記
下の画像の「未回答」の名前を次のシーンのとあるボタンを使って変更したいです。

イメージ説明

セグエのidentiferはclearedです。

該当のソースコード

DetailViewController↓

swift

1class DetailViewController: UIViewController { 2 3 var clearCheckNumber:Bool = false 4 var checkNumber = 0 5 6 var a = make() 7 var b = make() 8 9 var a2 = make() 10 var b2 = make() 11 12 var a3 = make() 13 var b3 = makeb() 14 15 var onlyoneAnswer:Bool = false 16 var onlyoneAnswer2:Bool = false 17 var onlyoneAnswer3:Bool = false 18 19 @IBOutlet weak var Label: UILabel? 20 @IBOutlet var getAnswer: UITextField! 21 @IBOutlet weak var button: UIButton! 22 23 @IBOutlet weak var Label2: UILabel! 24 @IBOutlet weak var getAnswer2: UITextField! 25 @IBOutlet weak var button2: UIButton! 26 27 @IBOutlet weak var Label3: UILabel! 28 @IBOutlet weak var getAnswer3: UITextField! 29 @IBOutlet weak var button3: UIButton! 30 31 @IBOutlet weak var button4: UIButton! 32 33 34 func configureView() { 35 36 // Update the user interface for the detail item. 37 let label = Label 38 label?.text = "① (a)+(b)=" 39 40 let label2 = Label2 41 label2?.text = "② (a2)-((b2))=" 42 43 let label3 = Label3 44 label3?.text = "③ (a3)×((b3))=" 45 46 } 47 48 49 @IBAction func checkAnswerInPlus (_ sender: UIButton) { 50 51 let answer:Int? = Int(getAnswer.text!) 52 let c = a + b 53 54 if answer==c&&onlyoneAnswer==false { 55 56 button.setTitle("正解!!", for: .normal) 57 button.setTitleColor(UIColor.purple, for: .normal) 58 checkNumber=checkNumber+1 59 onlyoneAnswer=true 60 61 }else if answer==nil{ 62 63 }else if answer==c&&onlyoneAnswer==true{ 64 65 }else{ 66 67 button.setTitle("不正解、解き直そう!!", for: .normal) 68 button.setTitleColor(UIColor.blue, for: .normal) 69 70 } 71 72 } 73 74 @IBAction func checkAnswerInMinus(_ sender: UIButton) { 75 76 let answer2:Int? = Int(getAnswer2.text!) 77 let c2 = a2 - b2 78 79 if answer2==c2&&onlyoneAnswer2==false { 80 81 button2.setTitle("正解!!", for: .normal) 82 button2.setTitleColor(UIColor.purple, for: .normal) 83 checkNumber = checkNumber+1 84 onlyoneAnswer2 = true 85 86 }else if answer2==nil{ 87 88 }else if answer2==c2&&onlyoneAnswer2==true{ 89 90 }else{ 91 92 button2.setTitle("不正解、解き直そう!!", for: .normal) 93 button2.setTitleColor(UIColor.blue, for: .normal) 94 95 } 96 97 } 98 99 100 101 @IBAction func checkAnswerInTimes(_ sender: UIButton) { 102 103 let answer3:Int? = Int(getAnswer3.text!) 104 let c3 = a3 * b3 105 106 if answer3==c3&&onlyoneAnswer3==false { 107 108 button3.setTitle("正解!!", for: .normal) 109 button3.setTitleColor(UIColor.purple, for: .normal) 110 checkNumber=checkNumber+1 111 onlyoneAnswer3=true 112 113 }else if answer3==nil{ 114 115 }else if answer3==c3&&onlyoneAnswer3==true{ 116 117 }else{ 118 119 button3.setTitle("不正解、解き直そう!!", for: .normal) 120 button3.setTitleColor(UIColor.blue, for: .normal) 121 122 } 123 124 } 125 126 127 128 @IBAction func clearcheck(_ sender: UIButton) { 129 if checkNumber>=3 { 130 button4.setTitle("CLEAR", for: .normal) 131 button4.setTitleColor(UIColor.black, for: .normal) 132 //ここにboolを送る内容を書き込みたいです。 133 clearCheckNumber=true 134 } 135 } 136 137 138 139 override func viewDidLoad() { 140 super.viewDidLoad() 141 142 button.setTitle("未回答", for: .normal) 143 button.setTitleColor(UIColor.blue, for: .normal) 144 145 button2.setTitle("未回答", for: .normal) 146 button2.setTitleColor(UIColor.blue, for: .normal) 147 148 button3.setTitle("未回答", for: .normal) 149 button3.setTitleColor(UIColor.blue, for: .normal) 150 151 button4.setTitle("未クリア", for: .normal) 152 button4.setTitleColor(UIColor.blue, for: .normal) 153 // Do any additional setup after loading the view. 154 configureView() 155 } 156 157 var detailItem: Event? { 158 didSet { 159 // Update the view. 160 configureView() 161 } 162 } 163 164 165}

TableView?の書き換えたい部分

swift

1 2func configureCell(_ cell: UITableViewCell, withEvent event: Event) { 3 4 cell.textLabel!.text = "未回答" 5 6 //event.timestamp!.description 7 } 8

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hayabusabusash

2019/08/12 11:31

MasterViewControllerに値を渡したいということでしょうか?
退会済みユーザー

退会済みユーザー

2019/08/12 14:28

どこのコントローラーに値を送りつけるのかもわかっていないので追記の内容を見て判断していただけるとありがたいです。
guest

回答2

0

ベストアンサー

このようにMasterViewに書きましたが、完全に問題が解決したわけではないので別の質問に内容を書きますので答えていただけるとありがたいです。

swift

1func configureCell(_ cell: UITableViewCell, withEvent event: Event) { 2 //解決方法 3 let cc = DetailViewController() 4     //終了 5 if (cc.clearCheckNumber==false){ 6 cell.textLabel!.text = "未回答" 7 }else{ 8 cell.textLabel!.text = "回答済み" 9 } 10 } 11

投稿2019/08/13 23:36

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

もう既に解決されているかもしれませんが。

このようなケースでは、

  1. protocol を使う
  2. TableViewDetail Scene で同じ変数を参照して、 Detail Scene から戻った時に、 TableView をリロードする

という手段が考えられます。

投稿2019/08/13 01:30

s.m_1

総合スコア293

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/08/13 05:04

1も2も詳しく教えていただけませんか?そこが、わからなくて困っています。
s.m_1

2019/08/13 05:11

それぞれ google で調べれば出てくる内容ではあります。 1. [ swift protocol 使い方 ] 2. [ swift tableview リロード ] が、一度該当しているクラス(TableView を表示しているクラス、DetailScene のクラス)のコードを見たいので、追記でいいので掲載してもらえないでしょうか。 私が一からコードを書いてしまっては、 RIRUa さんのためにはならないので、一緒に考えることはできます。 また、追記する際は、<code> をクリックしてフォーマットを整えてください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問