Ошибка: неоднозначная ссылка на элемент ‘subscript’ в Swift 3

#ios #swift

#iOS #swift

Вопрос:

Вот мой код swift 2 в xcode 7 когда я обновил xcode 8, мой код показал ошибку.

мой код в:

       let resultsDict = try JSONSerialization.jsonObject(with: data!, options: []) as! Dictionary<NSObject, AnyObject>

                                    let items: Array<Dictionary<NSObject, AnyObject>> = resultsDict["list"] as! Array<Swift.Dictionary<NSObject, AnyObject>>


                for i in 0 ..< items.count {
                    let snippetDict = (items[i] as Dictionary<NSObject, AnyObject>)

                   desired data.


                    we care about.
                    var desiredValuesDict: Dictionary<NSObject, AnyObject> = Dictionary<NSObject, AnyObject>()
                    desiredValuesDict["title"] =  snippetDict["title"]

                    desiredValuesDict["thumbnail"] = snippetDict["thumbnail_url"]
                    desiredValuesDict["ID"] =  snippetDict["id"]
 

в строке:

   let items: Array<Dictionary<NSObject, AnyObject>> = resultsDict["list"] as! Array<Swift.Dictionary<NSObject, AnyObject>>
 

отображается ошибка

  "Ambiguous reference to member 'subscript'"
 

Также показала ту же ошибку в:

                     desiredValuesDict["title"] =  snippetDict["title"]

                    desiredValuesDict["thumbnail"] = snippetDict["thumbnail_url"]
                    desiredValuesDict["ID"] =  snippetDict["id"]
 

Пожалуйста, помогите мне это исправить

Ответ №1:

Извините, что у вас нет представителя, чтобы оставить комментарий, но…

Вы не должны использовать Dictionary<NSObject, AnyObject> . Для словаря с ключом в виде строки и значением как угодно, просто используйте [String: Any]

Суть в том, что вам нужно опубликовать образец структуры JSON, чтобы мы могли лучше решить вашу проблему