我确实创建了一个func callalamofire的struct getData。我呼叫URL,并毫无问题地将数据获取在控制台中。我的问题是在解析到dato结构的属性后确实分配了我获得的字符串。我有一个错误"无法分配到属性:'名称'是'let'constand'。此错误是在最后的书面代码
中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
}
}
}
}
我可以将名称字符串传递给我的dato struct的var dato,以便以后将其附加到datos数组中?感谢您的帮助。
正如@Vadian在评论中所说的。
您的Dato
结构具有属性name
作为让常数。
只需将其更改为var
。