我有一个localized
string
看起来像这样:
String(format: "unable_to_reach".localized(), name) //name is a string. I have also tried just "x"
文件中的key/value
对localize
如下所示:
"unable_to_reach" = "Unable to reach %1$s";
现在,有时这可行,有时它会因EXC_BAD_ACCESS
错误而崩溃。为什么是这样?%1 $ s不应该用于string
值吗?
格式说明%1$s
是%s
用的位置说明符$1
插入到它。%s
是以N结尾的C字符串的格式说明符。如果改用Swift String传递,则会发生不良情况。不要那样做 (如果Swift字符串不包含任何空字节,则可能会导致缓冲区溢出。)
您想要%@
(或%$1@
保留位置说明符。)
有关更多信息,请参见有关字符串格式说明符的文档。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句