如何为alamofire发布请求中的参数之一传递nil值 [英] how to pass a nil value for one of the parameter in alamofire Post request

查看:320
本文介绍了如何为alamofire发布请求中的参数之一传递nil值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想传递一个nil值,即参数值之一的可选值.并且必须在 Alamofire发布请求中使用nil值进行操作.如果您告诉我接下来如何进行操作,将会很有帮助?

I would like to pass a nil value i.e., optional to one of the parameter value. And it must proceed with the nil value in the Alamofire Post request .It would be helpful if you tell me how to proceed next?

    let image: UIImage = UIImage()
    let imageData = UIImagePNGRepresentation(image)
    let base64String = imageData?.base64EncodedStringWithOptions(.Encoding64CharacterLineLength)

    let parameters = [
        "first_name": "XXXXX",
        "email" : "1234@gmail.com",
        "password" : "password",
        "profile_picture" : base64String]

Alamofire.request(.POST, "http://abc/public/user/register", parameters: parameters, encoding: .JSON, headers: nil)

        .progress { bytesWritten, totalBytesWritten, totalBytesExpectedToWrite in
            print(totalBytesWritten)

            // This closure is NOT called on the main queue for performance
            // reasons. To update your ui, dispatch to the main queue.
            dispatch_async(dispatch_get_main_queue()) {
                print("Total bytes written on main queue: \(totalBytesWritten)")
           }
        }
        .responseJSON { response in
            debugPrint(response)
    }

即使 profile_pictures 为空,响应也应该成功.我知道可以通过可选的链接来完成,但是不知道如何进行!

The response should gets succeeded even if the profile_pictures is empty. I know it can be done with optional chaining but don't know how to proceed!!

推荐答案

通过传递nil或未初始化的可选参数Server将获得Optional

By passing nil or uninitialized optional parameter Server will get Optional

您可以将NSNull()传递给字典

You can pass NSNull() to dictionary

尝试一下,就像

var params = ["paramA","valueA"] if imageBase64 == nil {   parms["image"] = NSNull()} else {   params["image"] = imageBase64 }

swiftyjson还可以将NSNull处理为空

swiftyjson also handle null as NSNull

这里也有很好的参考 以快速语言显示null/nil

also there is good reference here null / nil in swift language

这篇关于如何为alamofire发布请求中的参数之一传递nil值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆