Swift転職なら=>【LevTech】
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大

頭痛が減ったので共有です!

rebuild.fmを応援しています!

HOME > [NSObject : AnyObject]?' does not have a member named 'subscript'の対応

AnyObject does not have a member named 'subscript'の対応

配列が混じったオプショナル型のエラー対応方法。以下不備にハマったのでメモ。サンプルソースをコピーしているとよく発生するのでメモ。どうやらSwiftのバージョンアップでAPIの仕様が変わっているようで、オプショナル型に変わった場合等に必要と思われます。

参考: [NSObject : AnyObject]?' does not have a member named 'subscript' error in Xcode 6 beta 6


//2行目のitemがオプショナルなのでエラー。びっくりマークをつけても回避できない
var item : NSExtensionItem = self.extensionContext!.inputItems[0] as NSExtensionItem
var itemProvider : NSItemProvider = item.attachments[0] as NSItemProvider

以下のようにラップしてあげると解決します。


var item : NSExtensionItem = self.extensionContext!.inputItems[0] as NSExtensionItem
var attachments = item.attachments!;
var itemProvider : NSItemProvider = attachments[0] as NSItemProvider

今後もSwiftが成長していく中で多くなりそうなエラーです。

↓こんな記事もありますよ!

Array

SwiftではArrayとNSArray両方利用することができます。記事を統合しました。

Rebuildfm(Poadcast)の技術話+オタ話が超絶に面白い、、、、、

去年の暮れ頃から聞いているPodcastを紹介します。IT企業の友人から「RebuldFM」が面白いよ〜と、私が Swiftサラリーマンを始めたことでSwiftの話をしてたら「知ってる知ってる」との話になって、どこで聞いたの? 「Rebuldfm」ってPodcastがあるんだよ、と。

SwiftでZipファイルの解凍や圧縮する方法

SwiftでZipの解凍・圧縮処理の解説です。標準ライブラリにZip2があるやら3rdパーティのSSArchiveのObjective-Cのライブラリを Swiftにブリッジして利用するのが良い等の記載がありましたので調査してみます。
このエントリーをはてなブックマークに追加
右側のFacebookのLikeをクリック頂けると記事更新の際に通知されますので宜しければご利用下さい!