我有以下代码:
for (BNRItem *item in self.items) {
[descriptionString appendString:[item description]];
[descriptionString appendString:@"\n"];
}
有没有办法在一行而不是两行?
答案 0 :(得分:3)
[descriptionString appendString:[NSString stringWithFormat:@"%@\n", [item description]]];
答案 1 :(得分:1)
大多数人都会将stringWithFormat用于所有内容,但您可以使用stringByAppendingString执行此操作,例如: :
for (BNRItem *item in self.items) {
[descriptionString appendString:[[item description]stringByAppendingString:@"\n"]];
}
如果我在代码中的很多地方都这样做,我会在NSString上设置一个单行类别,e。 G。
@implementation NSString (LineEnding)
- (NSString*)plusNewLine {
return [self stringByAppendingString:@"\n"];
}
@end
然后您可以编写如下代码:
[descriptionString appendString:item.description.plusNewLine];
答案 2 :(得分:1)
假设descriptionString
是NSMutableString
,请使用:
for (BNRItem *item in self.items) {
[descriptionString appendFormat:@"%@\n", item];
}
无需在description
上明确调用item
方法。