Dictionary 如何打开字典可选值?
具有可选值的字典键的typealiasDictionary 如何打开字典可选值?,dictionary,swift3,Dictionary,Swift3,具有可选值的字典键的typealias typealias JSON = [String:Any?] 这是我的字典 var createAfterStr: String? = nil var createBeforeStr: String? = nil if let createdAfter = statesByScope.createdAfter, let afterStr = toString(date: createdAfter) { creat
typealias JSON = [String:Any?]
这是我的字典
var createAfterStr: String? = nil
var createBeforeStr: String? = nil
if let createdAfter = statesByScope.createdAfter, let afterStr = toString(date: createdAfter) {
createAfterStr = afterStr
}
if let createdBefore = statesByScope.createdBefore, let beforeStr = toString(date: createdBefore) {
createBeforeStr = beforeStr
}
let params: JSON = [
"scope_id": statesByScope.scopeId,
"createdAfter" : createAfterStr ?? nil,
"createdBefore" : createBeforeStr ?? nil,
"limit" : "4"]
当我将其作为参数curl请求发送时。我似乎在做:
var request = URLRequest(baseUrl: baseUrl, path: path, method: method, params: params)
request.setValue(token, forHTTPHeaderField: "Authorization")
var urlrequst : URLRequest?
do{
urlrequst = try Alamofire.JSONEncoding.default.encode(request, with: params)
}catch let error {
completion(nil, ServiceError.custom(String(describing: error)))
}
print(urlrequst)
这是真正的有线部分与可选的
那么如何打开包装呢
词汇可选值?还是我错过了什么?谢谢,别那么做。JSON字典从来没有可选值 使用不同的非可选值创建参数,然后添加可以为nil的键/值对。 如果createAfterStr或createBeforeStr为零,则将跳过该键
typealias JSON = [String:Any]
var params: JSON = ["scope_id": statesByScope.scopeId, "limit" : "4"]
params["createdAfter"] = createAfterStr
params["createdBefore"] = createBeforeStr
你应该阅读语言指南。createAfterStr??nil如果createAfterStr为nil,则使用默认值nil。。。这并不意味着sense@Alexander谢谢更新我的问题,希望它现在会清楚。如果你喜欢,请投票