辞書要素を含むサーバーからJSON応答を受け取りましたが、要素の1つは["abc"、 "def" 、「GHI」]と私は以下のコードに示すように、アレイと呼ばれる変数に、この配列を代入しています:タイプ '__NSCFConstantString'の値を 'NSArray'にキャストできません
self.array = infoDictionary["element1"] as! [String]
私が直面してる問題は、キーに対してnullを「要素1」はあります包み、私が得るということですエラー:
Could not cast value of type '__NSCFConstantString' to 'NSArray'
この結果、アプリケーションがクラッシュします。 "element1"に対して ""の場合に備えて、アプリケーションをクラッシュから救う方法はありますか?
私の提案:*禁止* 'として'と力アンラップあなたのコードの一般的なのの利用を!。どこでも安全なアンラッピングを使用し、エラーをキャッチし、 'もしlet ...条件 'のために' else'節を作ってください。 – Moritz
私はブロックの外で宣言された変数を持っていますので、私は使えません... – laser2302
間違っています。あなたは常に*安全に展開することができます。 :)もしあなたが 'もし' let 'を使うことができないなら、 'guard let'や他の多くの安全アンラッピング技術を使用してください。 *これらのテクニックを学びます。 :)* – Moritz