使用“N”Unicode字符创建NSString

时间:2011-04-11 19:04:52

标签: iphone objective-c

我正在尝试根据整数评分创建一个包含(unicode)'明星'的字符串。我目前有:

NSMutableString *stars = [NSMutabelString stars];
for (int i = 0; i < rating; i++)
{
    [stars appendString:@"\u2605"];
}

然而,我发现这有点难看。在不使用此循环方法的情况下,是否存在构造此类字符串的方法?使用字符串格式的东西?

2 个答案:

答案 0 :(得分:8)

当然 - 要在一行上执行此操作,您可以使用stringByPaddingToLength方法:

[@"" stringByPaddingToLength: rating withString: @"\u2605" startingAtIndex:0];

...希望能为你做到这一点 - 而且不需要创建任何子类或类别等等!

答案 1 :(得分:1)

您可以使用额外的方法为NSString创建一个类别 - 比如说,+(NSString)stringForRating:(NSInteger)等级,并在那里移动循环。然后,只要你需要一个星形字符串,就调用它。