如何在Xcode 15字符串目录中使用带参数的格式化字符串?
在Xcode 15字符串目录中填充带参数的本地化字符串
步骤1:确认字符串目录中的格式定义
首先在Xcode 15的Strings Catalog里,my_string的条目需要明确占位符,推荐两种写法:
- Swift插值风格(更贴合Swift语法习惯):
其中"my_string" = "\(percentage) %%";percentage是占位符名称,%%用于渲染单个%符号(避免被识别为格式化符号)。 - 传统格式化风格:
这里"my_string" = "%d %%";%d对应整数类型参数,若需显示浮点数,可改用%f或%.1f来控制小数位数。
步骤2:在代码中填充参数
根据使用的UI框架,选择对应的调用方式:
SwiftUI/纯Swift环境
直接使用String(localized:arguments:)方法传入参数:
let targetPercentage = 25 let displayString = String(localized: "my_string", arguments: targetPercentage) // 输出结果:"25 %"
如果用了命名占位符,也可以通过键值对传递参数:
let displayString = String(localized: "my_string", defaultValue: "\(0) %%", arguments: ["percentage": 25])
UIKit环境
结合NSLocalizedString和String(format:)实现参数填充:
let targetPercentage = 25 let formatString = NSLocalizedString("my_string", comment: "显示百分比的文本") let displayString = String(format: formatString, targetPercentage) // 输出结果:"25 %"
注意事项
- 确保占位符类型和传入参数类型匹配,比如整数用
%d搭配Int参数,浮点数用%f搭配Double参数,避免出现格式错误。 - 若使用Swift插值风格的占位符,Xcode会自动识别并在代码补全时提供提示。
内容的提问来源于stack exchange,提问作者RMP
相关产品推荐
相关产品推荐

