如何在Swift中显示动态常量中的变量值?
我知道我的问题标题令人困惑,但我会解释清楚。阅读完我的问题后,请建议一个好的标题,以便对其他人有所帮助 我有一个标签,其文本由API中的JSON确定如何在Swift中显示动态常量中的变量值?,swift,variables,constants,Swift,Variables,Constants,我知道我的问题标题令人困惑,但我会解释清楚。阅读完我的问题后,请建议一个好的标题,以便对其他人有所帮助 我有一个标签,其文本由API中的JSON确定 text_from_json = "My name is _ and my age is _" mylabel.text = text_from_json 在类中的两个常量中,我的年龄为“26”,名字为“杰克” let age = 26 let name = "jack" print("mylabel.text") //my output sh
text_from_json = "My name is _ and my age is _"
mylabel.text = text_from_json
在类中的两个常量中,我的年龄为“26”,名字为“杰克”
let age = 26
let name = "jack"
print("mylabel.text")
//my output should be "My name is Jack and my age is 26"
我正在寻找类似于Python的Swift函数/方法:
text_from_json = "My name is {0} and my age is {1}"
print("My name is {0} and my age is {1}".format(name, age))
Swift中是否有类似于Python中的
.format
的函数?Swift中的函数非常简单。您需要执行以下操作
let name = "jacK"
let age = 26
//var formattedString = "My name is \(name) and ag is \(age)"
var formattedString = String(format: "My name is %@ and age is %d", name,age)
对于您的具体情况,您可以这样做
let name = "jacK"
let age = 26
let stringFromJSON = "My name is _ and age is _"
var formattedString = stringFromJSON.replacingOccurrences(of: "_", with: "%@")
formattedString = String(format: formattedString, name,"\(age)")
print(formattedString)
上述代码有效 我想你可能正在寻找字符串插值@davecom:不止这些--寻找iOS作为框架(如果有的话)的一部分提供的任何预定义函数来实现这一点..就像一个从json字符串、字符到搜索接受文本的函数,用另一个值替换字符并返回修改后的字符串,但当主字符串被分配给变量时,这不起作用。我已更新了答案。如果它对您不起作用,请分享您遇到的错误。您错过了问题。请看问题。字符串
“我的名字是…”
来自JSON,存储在一个变量中。这不是一个硬编码的字符串。@mohammaddadiq:谢谢你的帖子,但我想我可以把我的问题说得更具体一些。我将API1中的字符串值“我的名字是,我的年龄是”解析为JSON。我还有另一个API2,它的值是Jack和26。我需要合并这两个,这样它会生成输出“我的名字是杰克,我的年龄是26”--在:rmaddy:我有一个想法,但寻找解决这个问题的好方法,请建议…我可以将我的API1发送为“我的名字是{0},我的年龄是{1}”--将其存储在一个变量中--并查找{0}{1}字符串变量中的字符——并用名称和年龄变量替换它们。这类似于创建名为addVariablesToText(input1,input2)的字符串扩展名,实现是搜索字符串中的特定字符并替换它们。除此之外,我正在寻找更好的方法……我怀疑iOS会有一些函数/库已经实现了这一功能,我正在搜索它