小编MAC*_*ACE的帖子

有没有一种快速的方法来用字符串插值来解开可选内容?

我正在使用从用户收集的值来构建RESTful API查询。其中一些值可能未提供,因此我使用的是可选值。有Double,Int和String值。我正在使用的代码似乎很笨拙。有没有更干净,更快捷的方式来编写此代码块?

'''迅速

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)"
Run Code Online (Sandbox Code Playgroud)

'''

我得到了我需要的结果。例如,如果用户不提供StartDate参数,则查询字符串中不会引用该参数。

''' https:// .....?format = geojson&endtime = 2019-05-31&orderby = magnitude&minmagnitude = 5&limit …

optional swift

2
推荐指数
1
解决办法
60
查看次数

标签 统计

optional ×1

swift ×1