Я создаю запрос RESTful API, используя значения, собранные от пользователя.Некоторые из этих значений могут быть не предоставлены, поэтому я использую дополнительные параметры.Существуют значения Double, Int и String.Код, который я использую, кажется неуклюжим.Есть ли более чистый, Swifty способ написать этот блок кода?
'' 'Swift
let baseURL = "http......"
// Start with required parms
let format = "?format=\(parms.format)"
let endTime = "&endtime=\(parms.endDate)"
// now for optionals
let startTime = parms.startDate != nil ? "&starttime=\(parms.startDate!)" : ""
// Sorted by
let orderby = parms.orderby != nil ? "&orderby=\(parms.orderby!)" : ""
// parts.limit is Int?
let limit = parms.limit != nil ? "&limit=\(parms.limit!)" : ""
var strURL: String
strURL = "\(baseURL)\(format)\(startTime)\(endTime)\(orderby)\(limit)"
' ''
Я получаю нужный мне результат,Например, если пользователь не предоставил параметр StartDate, он не указан в строке запроса.
'' ' https: // .....? Format = geojson & endtime = 2019-05-31 & orderby = величина & minmagnitude = 5 & limit = 2000 '' '
но у меня такое чувство, что я пропускаю точку Swift Optionals