###itunesのapiを使って入力したアーティストの特定の曲名とトラックを表示したい
任意のアーティストとそのアーティストが出している曲名を入力します。そしてその曲名をlabelで表示し、そのジャケット写真を表示させたいです
発生している問題・エラーメッセージ
出力方法が分かりません
該当のソースコード
swift
1func saveMusicData() { 2 guard let artistName = textField.text else{ 3 return 4 } 5 guard let term = textFIeldSong.text else { 6 // textField.textがnilの場合 7 return 8 } 9 10 let strUrl = "http://ax.itunes.apple.com/WebObjects/MZStoreServices.woa/wa/wsSearch?&term=(artistName)&limit=1&attribute=songTerm&media=music&entity=song&country=jp" 11 12 let encodeUrlString = strUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)! 13 14 let url: URL = URL(string: encodeUrlString)! 15 let task: URLSessionTask = URLSession.shared.dataTask(with: url, completionHandler: {data, response, error in 16 do { 17 let items = try JSONSerialization.jsonObject(with: data!) as! NSDictionary 18 19 for(key, data) in items { 20 if (key as! String == "results"){ 21 let resultArray = data as! NSArray 22 for (eachMusic) in resultArray{ 23 let dicMusic:NSDictionary = eachMusic as! NSDictionary 24 25 let datas: [[String: Any]] = ["name": dicMusic["trackName"]!, "imageUrl": dicMusic["artworkurl100"]!] 26 27//ここからが分かりません 28 29 30 31 32 33 34 let url = URL(string: data["imageUrl"] as! String) 35 36 let imageData :Data = (try! Data(contentsOf: url!,options: NSData.ReadingOptions.mappedIfSafe)) 37 38 39 let img = UIImage(data:imageData) 40 41 let realm = try! Realm() 42 43 let music = Musics() 44 45 let id = self.getMaxId() 46 47 music.name = dicMusic["name"] as! String 48 49 music.id = id! 50 51 let dataImage = img!.jpegData(compressionQuality: 1.0) 52 53 music.image = dataImage! 54 55 try! realm.write { 56 realm.add(music) 57 } 58 } 59
試したこと
色々なことを試しましたが、Swift:「Value of tuple type '(key: String, value: Any)' has no member 'subscript'」
や、
Cannot subscript a value of type '[[String : Any]]' with an index of type 'String'
が出てなかなか解決しません
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/06 12:17