2016-12-12 11 views
0

ストーリーボードを追加して、写真にテキストを追加しました。今では、最終的な写真を得るために3つのView Controllerを経由する必要があります。 A(オプションメニュー) - > B(テキスト入力) - > C(写真を撮る) vcにボタンを追加すると、それはsigabrtエラーとして表示されます。以下のコードをコメントアウトすると、エラーは発生しません。その明らかな問題は、ストーリーボードの問題です。私がしたいのは、ランタイムエラーが出なくてもb-> aから行くことができるボタンがあることだけです。以下のコードはvcです。ちょうどあなたが、私はCから行くことができます知っていないようにする - >何の問題が、私はBから行ってみたい - >ストーリーボードセグを上書きするボタンを追加する方法(swift 3)

import UIKit 

class customViewController: UIViewController { 

@IBOutlet weak var zext: UITextField! 
override func viewDidLoad() { 
    super.viewDidLoad() 

    // Do any additional setup after loading the view. 
} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 
override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 
    var destviewc: ccViewController = segue.destination as! ccViewController 
    destviewc.labelText = zext.text! 


} } 
+0

segue.destinationはccViewControllerにキャストできますか? segue.destinationを使用しようとしていますか? ccViewControllerとそのnillかどうかを確認しますか? – Mohammadalijf

+0

@Mohammadalijf ccViewControllerがnilであるかどうかをどうやって確認するのですか?ありがとう –

+0

あなたはccViewControllerがnilかどうかチェックしません。 segue.destinationからccViewControllerへのキャストがnilであるかどうかをチェックします。 ryanが変数がゼロでないかどうかを制御するためにガードステートメントを使用できると述べたのと同様です。また、 'let let'を使用することもできます。例:desViewC = segue.destinationを? ccViewControll {desViewCで処理する} else {desCieeCはここでそれを行うことはできません} – Mohammadalijf

答えて

0
prepare(for:sender:)の実装では、特定の値の存在について、実行時の想定を行っている

!を使用して) 。つまり、segue.destinationccViewControllerであり、zext.textはゼロではありません。これらの前提条件が間違っていると、ランタイムエラーが発生します。

代わりに、あなたのメソッドが実行を継続するために右の状態にあることを確認するためにスウィフトguardステートメントを使用して、いくつかの防御技術を採用することができます。

override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 
    guard let destViewC = segue.destination as? CCViewController else { 
     return 
    } 

    guard let text = zext.text else { 
     return 
    } 

    destViewC.labelText = text 
} 

また、タイプ名には、上のラクダケースを使用する必要があります。つまり、 "customViewController"は "customViewController"にする必要があります。

関連する問題