微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ios – format包含字符串数组的字符串

我正在尝试使用字符串数组创建一个String,我希望这可以工作:

let format = "%@ and %@!"
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])

但我得到致命的错误:不能在不同大小的类型之间unsafeBitCast.

我已经看过thisthisthis问题(以及更多),但我仍然不知道如何完成我想要做的事情.

解决方法

String(格式:,参数:)期望[CVarargType]作为第二个
参数:

let format = "%@ and %@!"
let str1 = "bla"
let str2 = "blob"

private func formatItNicely(format: String,substrings: [CVarargType]) -> String {
    return String(format: format,str2])
print(result) // bla and blob!

但请注意,如果格式说明符不匹配,这可能会崩溃(或产生意外的输出)实际的参数,格式化函数不能(不能)检查.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐