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が成長していく中で多くなりそうなエラーです。

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

デバッグ時とリリース時に処理を変更する#ifdef DEBUG のやり方

DEBUG時だけ特定の動作をさせて、リリース時に排除したい、そんな時に利用する方法です。Swiftでは標準ではDEBUGとリリースの判断がつかないので、 コンパイル時に設定する必要があります

NSFileManagerでAPP保存領域のデータ操作

ファイルやディレクトリ作成はなんとなく面倒くさいイメージがありましたが、この記事で少し自分の中で壁が低くなった気がします。 よろしければご利用くださいませ。

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

去年の暮れ頃から聞いているPodcastを紹介します。IT企業の友人から「RebuldFM」が面白いよ〜と、私が Swiftサラリーマンを始めたことでSwiftの話をしてたら「知ってる知ってる」との話になって、どこで聞いたの? 「Rebuldfm」ってPodcastがあるんだよ、と。
このエントリーをはてなブックマークに追加
右側のFacebookのLikeをクリック頂けると記事更新の際に通知されますので宜しければご利用下さい!