HOME > XXXXXX
Swift3へのアップグレードでType Anyのエラーで悩む
こちらどうやら「型が不明だよ」との不具合のようなので、明記的に分解してあげると解決できます。Qiitaの記事がわかりやすいです。
参考:Type 'Any' has no subscript members after updating to Swift 3
参考:type any? has no subscript members
参考:http://qiita.com/___dera/items/7313f2fc705d846c88f2
やってみた
例えば、こんな箇所です。
self.contentsPageDataArr = NSMutableArray();
for (index,obj) in self.contentsDataArr.enumerated(){
let section = self.contentsDataArr[index]["section"];//<- エラー
}
self.contentsDataArr[index]がAny型で返っているため、["section"]が保証されていないようです。
カスタマイズ
self.contentsPageDataArr = NSMutableArray();
for (index,obj) in self.contentsDataArr.enumerated(){
let selectedData = self.contentsDataArr[index] as AnyObject?
let section = selectedData?["section"];
}
これならコンパイルエラーにならない。
まとめ
ID型とか正直まだよくわかっていない。。。
↓こんな記事もありますよ!
![]() | カスタムクラスを作成時いつも忘れる。継承クラス作成時のメモカスタムクラスを作成する時いつもUIViewを継承する際のrequired Initの箇所でハマってしまうので覚書です。 |
![]() | SwiftでZipファイルの解凍や圧縮する方法SwiftでZipの解凍・圧縮処理の解説です。標準ライブラリにZip2があるやら3rdパーティのSSArchiveのObjective-Cのライブラリを Swiftにブリッジして利用するのが良い等の記載がありましたので調査してみます。 |
![]() | UIWebViewアプリの中にWebビューを作成して外部ネットワークやローカルのhtmlやcssやjsファイルと連携する方法の説明です。 |
Tweet
![]() |
|||
|