Невозможно вставить строку из json в структуру свойств - PullRequest
0 голосов
/ 20 мая 2019

Я создал структуру GetData, в которой есть функция callAlamofire.Я делаю вызов по URL и получаю данные в консоли без проблем.Моя проблема заключается в назначении строки, которую я получил после разбора, свойству структуры Dato.У меня ошибка «Невозможно присвоить свойству:« имя »является константой« let »».Эта ошибка есть в последнем написанном коде

self.dato.name = self.name

Я делаю вид, что создаю массив данных структуры, а затем вызываю всев ViewController и отсюда заполните мой tableView.

import Foundation
import Alamofire
struct GetData{
let url = "https://baas.kinvey.com/appdata/kid_W1BkLMHDCx/Contacts/"
let headers = ["Authorization":"Basic a2lkX1cxQmtMTUhEQ3g6ZWJiZjVhODg0MGIxNDg5NWFlOTg3YzM3MjIxZDE5NGE=", "Content-Type": "application/x-www-form-urlencoded"]
var dato = Dato(name: "", email: "")
var datos = [Dato]()

func callAlamofire(){
    Alamofire.request(url, method: .get, headers: headers)
        .responseJSON { (data) in
            guard let myJson = data.result.value as? [[String: AnyObject]] else {return}
            for item in myJson{
                if let name = item["name"] as? String{
                    print(name)
                    self.dato.name = self.name
            }
        }
    }
} 

Какие альтернативы мне нужно передать строку имени в мое var dato структуры Dato, чтобы позже я мог добавить ее в массив datos?Спасибо за помощь.

1 Ответ

0 голосов
/ 20 мая 2019

Как сказал @vadian в комментарии.

Ваша Dato структура имеет свойство name в качестве константы let.

Просто измените ее на var.

...