2016-11-25 3 views
-1

//致命的なエラーを結合ジェスチャーする方法であり、ジェスチャーを定義:時々毎回、ないクラッシュ致命的なエラー:予期せずにnilを見つけ、私はこの方法が

let translationInContainerView = gesture.translation(in: transitionContainerView!) 

オプションの値をアンラップしながら、予想外にnilを発見しました。

私はこのような状況(見つからない)の場合にこの例外をキャッチしたい、プログラムをクラッシュさせたくない、誰が私にこの問題を解決する方法を教えることができるか。

enter image description here

私はこれを試してみてください、ない使用: enter image description here

+0

bang演算子(!)を使用して、「transitionContainerView」をアンラップします(これはオプションです)。あなたが使うなら!そのオブジェクトの値がnilの場合、アプリはクラッシュします。それはここで起きているようです。 "transitionContainerView"オブジェクトを作成するときは、ガードletまたはif文を使用してください(nilの場合)。そうであれば、それはそれに応じて対応できる別の問題です。 – user3353890

答えて

1

これを試してみてください:

guard let transitionContainerView = self.transitionContext?.containerView else { 
    print("the containerView of transitionContext is nil. Find out why.") 
    return 
} 

あなたは、特定のタイプのtransitionContainerViewオブジェクトをキャストする必要がある場合があります。私は型がすることになっているのか分からないが、それは次のようになります。

guard let transitionContainerView = self.transitionContext?.containerView as? MyValueType else { 
    print("the containerView of transitionContext is nil. Find out why.") 
    return 
} 

ここでさらにはとしてのですか? MyValueType部分

elseステートメント内のコードブロックにヒットしないと、それはnilではないので、それに応じてオブジェクトを使用できるはずです。私はこれが助けて欲しい!

+0

ありがとうございます!私は最後のステップで問題があるかもしれないことを見落とした –

+0

あなたは大歓迎です!私はそれが助けて嬉しい:) – user3353890

関連する問題