i trying create string
array of string
s, expect work:
let format = "%@ , %@!" let str1 = "bla" let str2 = "blob" private func formatitnicely(format: string, substrings: [string]) -> string { return string(format: format, arguments: substrings) } let result = formatitnicely(format, substrings: [str1, str2])
but getting fatal error: can't unsafebitcast between types of different sizes
.
i have seen this , this , this questions (and many more), still don't know how accomplish trying do.
string(format:, arguments: )
expects [cvarargtype]
second parameter:
let format = "%@ , %@!" let str1 = "bla" let str2 = "blob" private func formatitnicely(format: string, substrings: [cvarargtype]) -> string { return string(format: format, arguments: substrings) } let result = formatitnicely(format, substrings: [str1, str2]) print(result) // bla , blob!
but note can crash (or give unexpected output) if format specifiers not match actual arguments, formatting functions not (cannot) check that.
Comments
Post a Comment