Swift 3のアップグレード後にすべてが正常に動作していました。これは単に、次のエラーを与えている:タイプ "Any"には下付きメンバはありません/ Swift 3
for video in JSON["items"] as? NSArray {
それへの私の前の質問と解決策をここで見つけることができます:
私が持っているAmbiguous use of 'subscript' with NSArray & JSON
次の行に
Type "Any" has no subscript members
私の質問をタイプしている間に提案された質問および答えを見たが、今のところ解決策を思いつくことができなかった。
class videoModel: NSObject {
let API_KEY = "Xxxxxxxxxxx"
let UPLOADS_PLAYLIST_ID = "yyyyyyyyyyyyyyy"
var videoArray = [Video]()
var delegate: VideoModelDelegate?
let urladdress = "https://www.googleapis.com/youtube/v3/playlistItems"
func getFeedVideos() {
Alamofire.request((urladdress), method: .get, parameters: ["part":"snippet", "playlistId": UPLOADS_PLAYLIST_ID,"key": API_KEY, "maxResults": "50"], encoding: JSONEncoding.default).responseJSON(completionHandler: { (response) -> Void in
if let JSON = response.result.value {
var arrayOfVideos = [Video]()
print(JSON)
for video in JSON["items"] as? NSArray {
let videoObj = Video()
videoObj.videoId = video.valueForKeyPath("snippet.resourceId.videoId") as! String
videoObj.videoTitle = video.valueForKeyPath("snippet.title") as! String
videoObj.videoDescription = video.valueForKeyPath("snippet.description") as! String
videoObj.videoThumbnailUrl = video.valueForKeyPath("snippet.thumbnails.maxres.url") as! String
arrayOfVideos.append(videoObj)
}
self.videoArray = arrayOfVideos
if self.delegate != nil {
self.delegate?.dataReady()
}
}
})
}
}
ちょっと、これを修正しましたか?もしそうなら、最終的な答えを教えてください。私はまったく同じエラーを抱えています。私も全く同じコードを使用しています。このエラーを解決した後、最終コードを共有してください。ありがとう – user3707644
これを見てください:cl.ly/02030q1Q0E10。詳しい情報が必要な場合はお知らせください。 –
クラスのソースコード全体を共有できますか?私はまだ問題を抱えています:JSON = response.result.valueとしたら? NSArray、それは常に偽です – user3707644