お世話になります。
現在swiftを学んでおります初心者です。
ご質問したい内容は、コンテナビューによって作成されるViewController(2)とコンテナビューを配置したViewController(1)の2つのコントローラーの内、コンテナビューを配置したViewController(1)側のナビゲーションバーボタンを押すことで、ViewController(2)に配置したテキストの色を変えたいと考えております。(現在の開発画面の画像を添付致します。)
現在、ViewController(2)側にテキストの色を変えるメソッドを作成し、ViewController(1)側のナビゲーションバーボタンを押すことで、そのメソッドを呼び出すという方法で取り組んでいるのですが、fatal error: unexpectedly found nil while unwrapping an Optional value というエラーが出てしまい止まってしまいます。(メソッド自体は呼び出されております。)
どの部分に問題があるのか、また、この場合の適切な方法をお教え頂きたく思います。
お手数ですが、お分かりになる方がいらっしゃいましたら、ご回答をお願い致します。
※下記に現在の開発画面と作成codeを記載致します。
下記swift code
//ViewController(1)側swift
import UIKit
class Container_ViewController: UIViewController {
@IBOutlet weak var chenge_botton2: UIBarButtonItem! override func viewDidLoad() { super.viewDidLoad() } @IBAction func color_chenge2(sender: AnyObject) { FirstViewController().chenge_color2() } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() }
}
//ViewController(2)側swift
import UIKit
class FirstViewController: UIViewController {
@IBOutlet weak var sample_text: UITextView!
@IBOutlet weak var sample_button: UIButton!
override func viewDidLoad() { super.viewDidLoad() }
//テスト変更ボタン用メソッド
@IBAction func chenge_color(sender: AnyObject) {
let box = sample_text.textColor if (box == UIColor.blackColor()) { sample_text.textColor = UIColor.redColor() } else{ sample_text.textColor = UIColor.blackColor() } } //ナビゲーションバー変更ボタン用メソッド func chenge_color2() { print("dac") let box = sample_text.textColor if (box == UIColor.blackColor()) { sample_text.textColor = UIColor.redColor() } else{ sample_text.textColor = UIColor.blackColor() } } override func viewDidLayoutSubviews() { } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() }
}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/08/25 11:43