"My name is %@. I am %d years old".localizeWithFormat("John",30)
看起来像这样
extension String { func localizeWithFormat(arguments: CVarargType...) -> String { return String.localizedStringWithFormat( NSLocalizedString(self,comment: ""),getVaList(arguments)) }}
它给我以下编译错误
Type CVaListPointer does not conform to protocol CVargType
任何人都知道如何解决这个编译错误?
这应该很简单,只需更改您的参数如下:extension String { func localizeWithFormat(name:String,age:Int,comment:String = "") -> String { return String.localizedStringWithFormat( NSLocalizedString(self,comment: comment),name,age) }}"My name is %@. I am %d years old".localizeWithFormat("John",age: 30) // "My name is John. I am 30 years old"
init(format:locale:arguments:)
extension String { func localizeWithFormat(args: CVarargType...) -> String { return String(format: self,locale: nil,arguments: args) } func localizeWithFormat(local:NSLocale?,args: CVarargType...) -> String { return String(format: self,locale: local,arguments: args) }}let myTest1 = "My name is %@. I am %d years old".localizeWithFormat(NSLocale.currentLocale(),args: "John",30)let myTest2 = "My name is %@. I am %d years old".localizeWithFormat("John",30)总结
以上是内存溢出为你收集整理的Swift中的localizeWithFormat和variadic参数全部内容,希望文章能够帮你解决Swift中的localizeWithFormat和variadic参数所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)