У меня есть псевдоним типа [String:Any]
public typealias Parameters = [String:Any]
И у меня есть вычисляемое свойство, которое будет строить эти параметры из значений модели.
var parameters: Parameters {
switch self {
case .addOFFProduct(let product):
var parameters: Parameters!
let code = product.code!
let username = product.username
let password = product.password
if let productName = product.productName, let genericName = product.genericName, let countriesText = product.countriesText, let brandsText = product.brandsText, let storesText = product.storesText, let ingredientText = product.ingredientText, let quantity = product.quantity, let additivesText = product.additivesText, let categoriesText = product.categoriesText {
parameters = [
Constants.OffProduct.code: code,
Constants.username: username,
Constants.password: password,
Constants.OffProduct.productName: productName,
Constants.OffProduct.genericName: genericName
]
}
return parameters
}
}
Теперь мне нужнопостроить тип параметров в соответствии с производственными значениями, если они равны нулю, тогда он не будет добавлен в [String:Any]
.Например, если generic name
равно nil
, а все остальные - нет, параметры будут выглядеть следующим образом
parameters = [
Constants.OffProduct.code: code,
Constants.username: username,
Constants.password: password,
Constants.OffProduct.productName: productName
//GENERIC NAME REMOVED
]
Как мне добиться такой логики.Я не совсем понимаю.Спасибо