[Swift][Error] Cannot assign value of type ‘[AnyObject]’ to type *

公開日: 2016年08月02日

・エラーメッセージ Cannot assign value of type ‘[AnyObject]’ to type *

・エラー例

var x:[Int]
var y:[AnyObject] = [1,2,3]
x = y
// => Cannot assign value of type ‘[AnyObject]’ to type ‘[Int]’

・原因 上記の場合、AnyObject型のコレクション(配列や辞書)をInt型のコレクションに格納しようとしたため

・対策 代入前に as! を使ってダウンキャストを行う

var x:[Int]
var y:[AnyObject] = [1,2,3]
x = y as! [Int]