Я использую this class, что было написано на Swift 1.2
, и теперь я хочу использовать его с Swift 2.0
.Как исправить «Неоднозначное использование« индекса »каждый раз?
Я получаю сообщение об ошибке: Ambiguous use of 'subscript'
@let artist = result["name"] as! String
} else if let jsonArtists = jsonResult["artists"] as? NSDictionary {
if let results:NSArray = jsonArtists["items"] as? NSArray {
dispatch_async(dispatch_get_main_queue(), {
self.searching = false
var suggestionResults: [spotifySearchResult] = []
for result in results {
let artist = result["name"] as! String
var sugresult = spotifySearchResult()
sugresult.artist = artist
if !suggestionResults.contains(sugresult) {
suggestionResults.append(sugresult)
}
}
handler(suggestionResults)
})
}
}
}
Я пробовал различные исправления, такие как let artist = (result["name"] as! String)
let artist = (result["name"] as! String) as! String
или Но ничего не получалось.
Я знаю, что вопрос уже был отправлен 4 раза, но я не могу найти никого, объясняющего, как исправить это в каждом случае, только в каждом случае.
Может кто-нибудь объяснить мне, как исследовать, чтобы исправить это? Не только исправление для моего дела. Я бы предпочел исправить это своими намеками!
BTW Что значит subscript
? Подстрочный индекс между кавычкой? ИМХО сообщение об ошибке немного расплывчатым ...
EDIT:
class spotifySearchResult : NSObject {
var artist=""
var track=""
var duration=0
var spotifyURL = NSURL()
var spotifyURI = NSURL()
override func isEqual(theObject: AnyObject?) -> Bool {
if let myObject = theObject as? spotifySearchResult {
return (myObject.artist.uppercaseString == self.artist.uppercaseString && myObject.track.uppercaseString == self.track.uppercaseString)
}
return false
}
}
Hi @vadian, спасибо за ваш ответ, но это не работает, и я действительно хотел бы понять, как «отлаживать» это. BTW спасибо за объяснение 'subscript' – VivienG
Возможно, причина в том, что' spotifySearch' не совместим с Swift 2. Вы это проверили? – vadian
Я отредактировал мой вопрос, добавив класс 'spotifySearch', что вы имеете в виду несовместимый? – VivienG