【问题标题】:POST array of objects in Alamofire POST method - Swift/IOSAlamofire POST 方法中的 POST 对象数组 - Swift/IOS
【发布时间】:2016-03-03 13:58:56
【问题描述】:

我正在尝试使用 Alamofire 发布多个对象的数组,如下所示:

class Person {

dynamic var firstName: String?
dynamic var lastName: String?
dynamic var email: String?
dynamic var state: String?

init(){}
init(firstName:String, lastName:String, email:String){
    self.firstName = firstName
    self.lastName = lastName
    self.email = email
} }

我创建了一个 Persons 数组并将其添加到字典中,如下所示:

let zipCode = “20876”
    let city = “Rockville”
    let persons = [Person]()
    let state = “MD”

    let params: [String:AnyObject] = [
        “zipCode” : zipCode!,
        “city” : city!,
        “persons”: NSArray(array: persons),
        “state” : state!

    ]

然后尝试将其发送到 Web 服务,我收到一条错误消息:由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“JSON 写入中的类型无效”

Alamofire.request(.POST, url, parameters: params, encoding: .JSON)
        .responseJSON {(req, res, json, error) in }

有没有人尝试发布一个数组,alamofire 有能力这样做吗? 我希望我把问题说清楚了。抱歉,如果这个问题太简单而无法回答,我花了一整天的时间来解决这个问题,但没有解决。 谢谢

【问题讨论】:

    标签: ios swift alamofire


    【解决方案1】:

    您必须从该对象不可序列化的人员类对象创建字典

    class Person {
    
        dynamic var firstName: String?
        dynamic var lastName: String?
        dynamic var email: String?
        dynamic var state: String?
    
        init(){}
        init(firstName:String, lastName:String, email:String){
            self.firstName = firstName
            self.lastName = lastName
            self.email = email
        }
        func getDictFormat() -> [String: String]{
    
            return ["firstName" : firstName!, "lastName" : lastName!, "email" : email!, "state" : state!]
        }
    }
    

    【讨论】:

    • 下一步是什么?谢谢
    • 好的,我想通了。我创建了一个新的字典字典,并使用该函数将每个 Persons 字典附加到 for 循环中。再次感谢您。
    【解决方案2】:

    Ray Wenderlich 最近有关于 Alamofire 的教程。

    请参考链接:

    http://www.raywenderlich.com/85080/beginning-alamofire-tutorial (请参阅创建请求路由器) http://www.raywenderlich.com/87595/intermediate-alamofire-tutorial

    【讨论】:

      猜你喜欢
      • 2015-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-15
      • 2017-01-15
      • 2018-12-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多