Не удается подписать значение типа «[APISKeyObjects]» с индексом типа «String»? - PullRequest
0 голосов
/ 11 октября 2019

Я пытаюсь получить доступ к ключу описания в моих объектах APIKeyObjects, но я получаю несколько проблем с помощью синтаксиса.

struct NewsApiObject: Codable
{
    let status: String?
    let totalResults: Int?


    let articles: [APISKeyObjects]
}

struct Source: Codable
{
    var id: String?
    var int: Int?
}

struct APISKeyObjects: Codable
{
    let source: Source?
    let author: String?
    let title: String?
    let description: String?
    let url: String?
    let urlToImage: String?
    let publishedAt: String?
    let content: String?

}

При попытке назначить описание я получил следующее сообщение об ошибке«которая является необязательной строкой в ​​моей структуре с именем« APIKeyObjects »

Сообщение об ошибке:« Невозможно добавить значение типа [APIKeyObjects] с индексом типа 'String' "

  let financesNewsData = try JSONDecoder().decode(NewsApiObject.self, from: data)

Сразу после того, как я пытаюсь присвоить переменную свойству UITextView с именем UITextDisplay, которое принимает только String ..

UITextDisplay.text = financesNewsData.articles[description]

Сообщение об ошибке: «Невозможно добавить значение типа [APIKeyObjects] с индексом типа 'Строка '"

Итак, мой вопрос;Как правильно его преобразовать, чтобы присвоить строковое значение строковому свойству?

1 Ответ

0 голосов
/ 11 октября 2019

Это неправильно String var, должно быть var variableName = ...

И в вашем сценарии оно должно быть:

// Чтобы получить все статьи:

var articles = financesNewsData.articles

// Если вы хотите получить описание статьи, тогда

let description = articles[index].desccription
...