在swift中,字符串拼接很簡單
var a: String? = "aaa"
var b: String? = "bbb"
let newStr = a! + b!
因為使用 ! 來獲取一個不存在的可選值會導致直接崩潰,使用!來強制解析值之前因妇,一定要確定可選包含一個非nil的值问潭。
但是在有些時候可選變量不是一定存在的,因此可以寫一個 Extension 來判斷 optional String 是否為空.
protocol OptionalString {}
extension String: OptionalString {}
extension Optional where Wrapped: OptionalString {
var isNilOrEmpty: Bool {
return ((self as? String) ?? "").isEmpty
}
/**如果字符串存在,返回自己,如果不存在,返回參數(shù)*/
func existOrReplaced(replace: String) -> String {
return ((self as? String) ?? replace)
}
}
這樣就可以使用自己寫的Extension來判斷optional String是否存在
var a: String? = "aaa"
var b: String?
print(b.isNilOrEmpty)
let newStr = a.existOrReplaced("a變量") + b.existOrReplaced("b變量")
----------------2016年04月27日分割線-------------
感覺自己太蠢了,swift有自帶的方式,也記錄下來吧
var b: String?
let newStr = (b ?? "b變量不存在") + (b ?? "b變量不存在")
來源StackOverFlow:
http://stackoverflow.com/questions/29381994/swift-check-string-for-nil-empty/33007282#33007282