我正在尝试根据整数评分创建一个包含(unicode)'明星'的字符串。我目前有:
NSMutableString *stars = [NSMutabelString stars];
for (int i = 0; i < rating; i++)
{
[stars appendString:@"\u2605"];
}
然而,我发现这有点难看。在不使用此循环方法的情况下,是否存在构造此类字符串的方法?使用字符串格式的东西?
答案 0 :(得分:8)
当然 - 要在一行上执行此操作,您可以使用stringByPaddingToLength
方法:
[@"" stringByPaddingToLength: rating withString: @"\u2605" startingAtIndex:0];
...希望能为你做到这一点 - 而且不需要创建任何子类或类别等等!
答案 1 :(得分:1)
您可以使用额外的方法为NSString创建一个类别 - 比如说,+(NSString)stringForRating:(NSInteger)等级,并在那里移动循环。然后,只要你需要一个星形字符串,就调用它。