【发布时间】:2016-08-16 19:53:00
【问题描述】:
已解决!请参阅本文底部的解决方案
我正在尝试使用 Alamofire 创建一个 JSON 对象以用于我的后端。我可以添加带有字符串值的键,但似乎无法将 Array 的值添加到 AnyObject。我虽然这会非常简单,但我一直无法找到解决方案。
func someFunction(btn: UIButton){
var someDictionary = Dictionary<String, AnyObject>()
let someArray = [textField[1].text,textField[2].text,textField[3].text]
someDictionary["answer"] = textField[0].text
someDictionary["options"] = someArray as? Array // <---- Can't be assigned to AnyObject
let url = "http://localhost:3000/api/question"
Alamofire.request(.POST, url, parameters: someDictionary).responseJSON { response in
if let JSON = response.result.value as? Dictionary<String, AnyObject>{
}
}
}
解决方案:删除 as? Array 并创建循环以附加初始化的数组
func someFunction(btn: UIButton){
var someDictionary = Dictionary<String, AnyObject>()
var SomeArray = [String]()
for i in 1...3{ //created loop to append the textField text
SomeArray.append(textField[i].text!)
}
someDictionary["answer"] = textField[0].text
someDictionary["options"] = SomeArray // Removed "as? Array"
let url = "http://localhost:3000/api/question"
Alamofire.request(.POST, url, parameters: someDictionary).responseJSON { response in
if let JSON = response.result.value as? Dictionary<String, AnyObject>{
print("JSON Response From Server-->\(JSON)")
}
}
}
【问题讨论】:
标签: swift dictionary alamofire