首页 文章

Alamofire POST方法中的POST对象数组 - Swift / IOS

提问于
浏览
3

我正在尝试使用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
} }

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

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是否能够这样做?我希望我提出问题 . 对不起,如果这个问题太简单无法回答,我花了整整一天来搞清楚这一点,但没有成功 . 谢谢

2 回答

  • 0

    你必须从person类对象创建该对象不可serilizable的字典

    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!]
        }
    }
    
  • 0

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

    请参考链接:

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

相关问题