我想传递一个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", "password" : "password", "profile_picture" : base64String] Alamofire.request(.POST, "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值
发布评论