在某些情况下,我必须将空值作为默认值或参数值发布到服务器。我尝试了很多方法,但它没有用。我使用Alamofire发布请求。请帮忙。
方法-1
var empty : String = ""
let parameters = ["User-Id":userId,"search_cat": formattedArray ?? empty,"date1":ab ?? empty,"date2" : bc ?? empty,"docname" : empty
] as! [String : String]
方式-2
let parameters = ["User-Id":userId,"search_cat": formattedArray ?? "","date1":ab ?? "","date2" : bc ?? "","docname" : ""
] as! [String : String]
方式-3
var nullvalue : String = ""
if formattedArray == nil
{
formattedArray = ""
print(formattedArray)
}
if ab == nil
{
ab = ""
print(ab)
}
if bc == nil
{
bc = ""
print(bc)
}
if nullvalue == nil
{
nullvalue = ""
}
parameters = ["User-Id":userId,"search_cat": formattedArray,"date1":ab ,"date2" : bc ,"docname" : nullvalue ]
as! [String : String]
方法 - 4 根据回答,我将参数列表字典更改为[String:AnyObject],但它仍然无效。并且给我错误。
var ab:String?
var bc : String?
var formattedArray: String?
parameters = ["User-Id":userId ,"search_cat": formattedArray ?? NSNull() ,
"date1":ab ?? NSNull() ,"date2" : bc ?? NSNull(),
"docname" : NSNull()] as! [String : AnyObject]
方法4 在尝试设置formattedArray时给我错误? NSNull(): 无法转换类型的值' NSNull'预期参数类型'字符串' 其余的参数工作正常。请帮助。
答案 0 :(得分:0)
更新:这是你想要的吗?
class RequestParameter : NSObject{
var formattedArray : String!
var date1 : String!
var date2 : String!
var docName : String!
var userId : String! // or whatever if hardCoded
func param() -> NSDictionary{
var param : [String : String] = [:]
param["User-Id"] = userId
param["search_cat"] = formattedArray
param["date1"] = date1
param["date2"] = date2
param["docname"] = docName
return param as! NSDictionary
}
}
您可以根据需要调用这些参数。喜欢
var reqParam = RequestParameter()
reqParam.param()
我真的不知道你的Request参数类型。例如。应该看起来像 date1 = nil 还是别的什么。 这就是我能回答你的全部内容。如果错了,也许有人可能会更好。
祝你好运!答案 1 :(得分:0)