我试图在一行上打印出NSSet,以逗号分隔,但没有尾部逗号或空格。我怎样才能做到这一点?
我知道这适用于数组:
NSMutableString *outputStringArray = [[NSMutableString alloc] init];
NSMutableArray *myArray = [[NSMutableArray alloc] initWithCapacity:10];
for (int k = 0; k < [myArray count]; k++) {
[outputStringArray appendFormat:@"%@, ", [myArray objectAtIndex:k]];
}
NSLog(@"%@", [outputStringArray substringToIndex:[outputStringArray length] - 2]);
但是由于集合没有索引,所以我不能这样做。
谢谢
最佳答案
您总是可以从集合中制作一个数组,如下所示:
NSArray *myArray = [mySet allObjects];
之后,您可以使用
componentsJoinedByString:
获得您的字符串:NSString *str = [myArray componentsJoinedByString:@", "];
当然,您可以通过类似于您帖子中的循环的简单循环来达到相同的效果:
BOOL isFirst = YES;
for (id element in mySet) {
if (!isFirst) {
[outputStringArray appendString:@", "];
} else {
isFirst = NO;
}
[outputStringArray appendFormat:@"%@", element];
}
关于Objective-C如何在一行上打印NSSet(无尾随逗号/空格),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15382089/