Ich verwende Versprechen Kit für die schnellen 3.0 und ich versuche, meinen asynchronen Netzanruf mit denWert kann nicht vom Typ umwandeln [[EVObject?]] Zu erwarten Argument Typ [_]
response.result.value
So zu erfüllen I kann sie in meiner Viewcontroller-Funktion:
FeedbackServices.getFeedbackSubjects().then { (FeedbackSubject) -> Void in
print(FeedbackSubject.count)
}.catch { (error) in
print(error.localizedDescription)
}
Das ist meine Netzwerkschicht:
protocol NetworkService
{
static func GET<T:EVObject>(URL: String, parameters: [String: AnyObject]?, headers: [String: String]?) -> Promise<T>
static func GET<T:EVObject>(URL: String, parameters: [String: AnyObject]?, headers: [String: String]?) -> Promise<[T]>
}
extension NetworkService
{
static func GET<T:EVObject>(URL: String,
parameters: [String: AnyObject]? = nil,
headers: [String: String]? = nil) -> Promise<[T]>
{
return Promise { fullFill, reject in
Alamofire.request(URL,
method: .get,
parameters: parameters,
encoding: URLEncoding.default,
headers: headers).responseArray(completionHandler: { response in
if (response.result.isSuccess) {
fullFill([response.result.value])
}else{
reject(response.result.error!)
}
})
}
}
Wenn ich versuche, das Projekt, das ich die folgende Fehlermeldung zu bauen:
ich stecken bin für ein paar Stunden jetzt bei der Arbeit und ich habe nicht daran zu arbeiten. Für weitere Informationen zögern Sie bitte nicht mich zu fragen.
Die Lösung steht über Ihrer Antwort! Es war der Completion-Handler-Typ. –