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

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

NSURLSessionでバックグラウンドで通信処理

NSURLConnectionの進化版のような立ち位置に私は感じております。アプリがバックグラウンドになっても通信処理を続けてくれる優れものです。 以前まではどうやら音声や位置情報だけに限られていましたが、このクラスによって大きなデータをユーザに気持ちよくDLしてもらうことも可能にです。

String

StringとNSStringどちらを利用することもできますが、、、

AppleWatchでNotificationを受け取る。バイブでブルブル通知する。

どうやら現状はAppleWatchのバイブレーションパターンをカスタマイズできないようなのですが、Notificationを受け取る際に ブルブルする状態のようです。つきましては、NotificationをApp側で設定、AppleWatch側で受け取ってブルブルするサンプルを記載していきます。
このエントリーをはてなブックマークに追加
右側のFacebookのLikeをクリック頂けると記事更新の際に通知されますので宜しければご利用下さい!