2016-10-12 14 views
-1

SWIFT 3.0のコードで私はスウィフト3型キャストエラー

は[任意]の値を変換できませんエラー与えながら?私は迅速2.2

let arrayNib = Bundle.main.loadNibNamed("VehicleDetailsTableViewCell", owner: nil, options: nil) as! NSArray 

にこのコードは正常に動作してい強制

+6

フレンドリーノート:これはスウィフトです。 NSArrayではなくSwift配列を使用する必要があります。 – Moritz

答えて

4

この

let arrayNib = Bundle.main.loadNibNamed("VehicleDetailsTableViewCell", owner: nil, options: nil)! as [Any] 
print (arrayNib) 
0

にNSArrayのを入力し、私はそれが私に[どれ?]の配列を与える

let arrayNib = Bundle.main.loadNibNamed("VehicleDetailsTableViewCell", owner: nil, options: nil) 

のようにそれを使用することができます。

0

エラーはかなり明示的ですしてみてください。

Optional<T>を変換しようとしています。Uです。

Uにキャスト可能であるが、Optional<T>ではない。

Optional<T>Optional<U>にキャストしたい場合は、 あなたの場合のように[Any]?NSArray?

しかし、Swiftアレイを使用して、実際のタイプを追加することを強くお勧めします。

+0

良い説明 –

0

新しいAPIで使用されているSwiftに新しい配列タイプがあります。

enter image description here

私がフォローアップの質問がNSArrayのを使用することが不可欠であるかどうかだと思います。ここでは、遊び場が言うことです。