无法在 属性 结构中插入来自 json 的字符串
Can not insert a string from json in a property struct
我确实创建了一个结构 GetData,其中有一个 func callAlamofire。我调用 url 并在控制台中毫无问题地获取数据。我的问题是将解析后获得的字符串分配给 Dato 结构的 属性。我有一个错误 "Cannot assign to property: 'name' is a 'let' constant"。这个错误在最后写的代码中
self.dato.name = self.name
我假装创建一个 Struct 数组数据,然后在 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 结构的 var dato,以便我以后可以将它附加到 datos 数组?感谢您的帮助。
正如@vadian 在评论中所说。
您的 Dato
结构具有 属性 name
作为 let 常量。
改成var
就可以了。
我确实创建了一个结构 GetData,其中有一个 func callAlamofire。我调用 url 并在控制台中毫无问题地获取数据。我的问题是将解析后获得的字符串分配给 Dato 结构的 属性。我有一个错误 "Cannot assign to property: 'name' is a 'let' constant"。这个错误在最后写的代码中
self.dato.name = self.name
我假装创建一个 Struct 数组数据,然后在 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 结构的 var dato,以便我以后可以将它附加到 datos 数组?感谢您的帮助。
正如@vadian 在评论中所说。
您的 Dato
结构具有 属性 name
作为 let 常量。
改成var
就可以了。