' ____ ___
' | \ / \
' | _ || |
' | | || O |
' | | || |
' | | || |
' |__|__| \___/
'
' ___ ____ ______ ____ ___ ____ ____ _
' / \ | \| || |/ \ | \ / || |
' | || o ) | | || || _ || o || |
' | O || _/|_| |_| | || O || | || || |___
' | || | | | | || || | || _ || |
' | || | | | | || || | || | || |
' \___/ |__| |__| |____|\___/ |__|__||__|__||_____|
'
' ____ ____ ______ ___ ____ ____ ___ _ ____ ______ ____ ___ ____
' | || \ | | / _]| \ | \ / \ | | / || || |/ \ | \
' | | | _ || | / [_ | D )| o ) || | | o || | | || || _ |
' | | | | ||_| |_|| _]| / | _/| O || |___ | ||_| |_| | || O || | |
' | | | | | | | | [_ | \ | | | || || _ | | | | || || | |
' | | | | | | | | || . \| | | || || | | | | | || || | |
' |____||__|__| |__| |_____||__|\_||__| \___/ |_____||__|__| |__| |____|\___/ |__|__|
'
NoOptionalInterpolation gets rid of "Optional(...)" and "nil" in Swift's string interpolation. This is particularly helpful when you set text to UI elements such as UILabel
or UIButton
. Since XCode currently, as of the time this is written, does not show any warnings when interpolating Optional
s, and you might sometimes need to change your variables' type between Optional
and non-Optional
, this library ensures that the text you set never ever includes that annoying additional "Optional(...)". You can also revert to the default behavior when needed.
Besides, the library makes pluralizing your text easier with custom operators.
Just import NoOptionalInterpolation and everything is done for you.
import NoOptionalInterpolation
let n: Int? = 1
let t: String? = nil
let s: String? = "string1"
let o: String?? = "string2"
let i = "\(n) \(t) \(s) \(o)"
print(i) // 1 string1 string2
Also, please note that this does not affect the print
function. Hence, print(o)
(as opposed to print("\(o)")
, o
as in the example above) would still print out Optional(Optional("string2"))
.