gpt4 book ai didi

string - Swift 格式化本地化字符串

转载 作者:搜寻专家 更新时间:2023-11-01 06:43:16 24 4
gpt4 key购买 nike

我们使用 OneSky 来翻译字符串。我们在字符串文件中使用位置说明符。我遇到的问题是在字符串中使用 %s 时。

我有一个字符串:"dist_unit_mask"= "%1$s %2$s"; 我从 Localization.strings 文件中读取并尝试格式化: String(format: NSLocalizedString(@"dist_unit_mask", comment: @"Distance and Units"), dist, unit)

这会导致应用程序崩溃,但是当我将字符串更改为 "dist_unit_mask"= "%1$@ %2$@"; 时,应用程序不会崩溃。使用 $s 而不是 %@ 时,可能导致应用程序崩溃的原因是什么?我不想在从 OneSky 下载后修改字符串文件。

最佳答案

%s 格式(带或不带位置说明符)需要一个C 字符串,即指向以 NUL 结尾的 char 序列的指针,而不是 Swift 字符串。

如果你真的必须保留%s格式那么

String(format: NSLocalizedString(...),
(dist as NSString).cStringUsingEncoding(NSUTF8StringEncoding),
(unit as NSString).cStringUsingEncoding(NSUTF8StringEncoding))

应该可以。

关于string - Swift 格式化本地化字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33444679/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com