gpt4 book ai didi

iphone - 更新了 NSAttributedString 中的子字符串

转载 作者:行者123 更新时间:2023-11-29 03:41:14 26 4
gpt4 key购买 nike

如何在不添加静态范围号的情况下替换 NSMutableAttributedString 中的子字符串?我有一个带有以下文本的标签:@“12 个 friend ”,一旦它来自,我想用另一个数字替换 12( friend 数量)(并为此子字符串使用相同的属性)服务器,由于位数未知,我无法使用以下方法:

/*wrong approach*/
NSMutableAttributedString *mutableAttributedString = [[NSMutableAttributedString alloc] initWithAttributedString:label.attributedText];
[mutableAttributedString replaceCharactersInRange:NSMakeRange(0, 2) withString:counter];
[label setAttributedText:mutableAttributedString];

最佳答案

如果标签总是显示“x 个 friend ”,那么为什么不直接使用格式化字符串并传入 friend 数量作为参数。当然,您可以使整个事情变得可变以进行本地化等,但基本思想是这样的:

NSInteger numberFromServer = ...

NSString *string = [NSString stringWithFormat:@"%d friend%@",numberFromServer,((numberFromServer != 1) ? @"s" : @"")];

NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:string];

[label setAttributedText:attributedString];

关于iphone - 更新了 NSAttributedString 中的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18409211/

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