Ich verwende Xcode 8.3.3. Ich bekomme einen Swift Compilerfehler "Undeutliche Referenz zum Mitglied". Ich bin über den Code gegangen und kann es nicht herausfinden.Warum erhalte ich diesen Fehler: Mehrdeutiger Verweis auf Member 'holen (mit: parse: completion :)'
protocol APIClient {
var session: URLSession { get }
func fetch<T: JSONDecodable>(with request: URLRequest, parse: @escaping (JSON) -> T?, completion: @escaping (Result<T, APIError>) -> Void)
func fetch<T: JSONDecodable>(with request: URLRequest, parse: @escaping (JSON) -> [T], completion: @escaping (Result<[T], APIError>) -> Void)
}
fetch(with: request, parse: { json -> [YelpBusiness] in
guard let businesses = json["businesses"] as? [[String: Any]] else { return [] }
return businesses.flatMap { YelpBusiness(json: $0) }
}, completion: completion)
https://github.com/jripke74/RestaurantReviews.git
ich den Code glauben korrekt ist, aber wenn Sie führen Sie den Code (I GitHub-Link enthalten). Sie erhalten einen mehrdeutigen Verweis auf Member 'fetch (with: parse: completion :)' Fehler. –
@ JeffA.Ripke Code ist richtig, aber Sie haben das 'Protokoll' falsch implementiert. Sie mischen "Protokoll" und "Schließen". Die Art, wie Sie "Protokoll" aufrufen, ist nicht korrekt. Sie müssen es in der Klasse erben und nicht direkt aufrufen. –
@ JeffA.Ripke Auf kürzere Weise kann ich sagen, dass "Protokoll" implementiert ist nicht direkt aufgerufen. –