SwiftとObjective-Cのクラスは、相互にキャストできるものがあります。
Objective-Cのクラスにあるメソッドを使いたい時などに、キャストすることも結構あります。
もともとObjective-Cで書いていたアプリを引き続きSwiftで開発するときなども、キャストする場面にあたります。
しかし、スムーズにいかないこともあります。
配列を操作するときに何度か問題が起きたので、備忘録としてぼくの注意点と対処方を記事にしておきます。
SwiftのArrayは型を複数持てないので、Objective-CのNSArrayからキャストするときにエラーが起こる場合があります。
これでたまにエラーになることがありました。
以下のような場合です。
let nsarray : NSArray = [ 1.0, 5 ,”String” ] // 複数の型を使う
var array1 : [String] = nsarray as [String] // エラー