'[Respansedata]' на ожидаемый тип аргумента «Отвечая наIOS

Программируем под IOS
Ответить
Anonymous
 '[Respansedata]' на ожидаемый тип аргумента «Отвечая на

Сообщение Anonymous »

Я создаю приложение, которое получает данные из API. Я создал «API Call» в отдельном классе, чтобы я мог использовать один и тот же вызов несколько раз. Но это не возвращает значение, как я ожидаю.

Код: Выделить всё

    let data = JsonData.init()
data.downloadJsonData(urlString: urlString) { (responseArray) in
dataArray.append(responseArray)
print(self.dataArray)
}
< /code>

Я получаю ошибку на dataarray.append (responsearray) < /code>: < /p>


не может преобразовать значение типа '[respensedata]' в ожидаемый тип аргумента 'respenseTata' < /p>
< /blockquote>

 в jsondata Класс < /strong> < /p>

class JsonData{
var dataArray:[ResponseData] = []

func downloadJsonData(urlString: String, completed: @escaping (Array) -> ()){

guard let url = URL(string: urlString) else {return}

URLSession.shared.dataTask(with: url) { (data, response, err) in
guard let data = data else{
return
}
do{
self.dataArray = [try JSONDecoder().decode(ResponseData.self, from: data)]

//Complete task in background
DispatchQueue.main.async {
completed(self.dataArray)
}
}
catch let jsonErr{
print(jsonErr)
}
}.resume()
}
}
Я предполагаю, что проблема в:

DispatchQueue.main.async{
completed(self.dataArray)
}
< /code>

Поэтому я хотел бы вернуть массив обратно в правильный класс, как только он извлек данные из API. Что я мог сделать неправильно? Любая помощь будет очень оценена.

Подробнее здесь: https://stackoverflow.com/questions/603 ... sponsedata
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»