我有一个在self中有很多名字的数组。这是我的代码:
NSMutableArray *array = [[NSMutableArray alloc]initWithObjects:@"figo",@"messi",@"totti",@"ronaldo",@"pirlo", nil];
我想在一个TextView中附加这个名字,任何名字都在一行......但是当我最后运行这个应用程序时,我看到姓氏在UITextView中,另一个名字被删除!请指导我。
这是我的完整代码:
ViewController.h
@interface ViewController : UIViewController
{
IBOutlet UITextView *text;
}
@property(nonatomic,strong) IBOutlet UITextView *text;
@end
ViewController.m
@implementation ViewController
@synthesize text;
- (void)viewDidLoad
{
NSMutableArray *array = [[NSMutableArray alloc]initWithObjects:@"figo",@"messi",@"totti",@"ronaldo",@"pirlo", nil];
[super viewDidLoad];
for (int i=0; i < [array count]; i++) {
NSString *a = [array objectAtIndex:i];
NSLog(@"%@",a);
[text setText:a];
}
}
@end
我希望这个名字附加在UITextView中,并且这些名称在一行......就像这样:
figo
messi
totti
ronaldo
pirlo
答案 0 :(得分:6)
您可以尝试改为
- (void)viewDidLoad
{
NSMutableArray *array = [[NSMutableArray alloc]initWithObjects:@"figo",@"messi",@"totti",@"ronaldo",@"pirlo", nil];
[super viewDidLoad];
[text setText:[array componentsJoinedByString:@"\n"];
}
或者如果你想要它们全部在一行中,用任何字符分隔,你只需要替换@“\ n”并使用你的。 @", "
可以,但@" "
答案 1 :(得分:4)
NSMutableArray *array = [[NSMutableArray alloc]initWithObjects:@"figo",@"messi",@"totti",@"ronaldo",@"pirlo", nil];
for (NSString *str in array) {
tvText.text = [NSString stringWithFormat:@"%@\n%@", tvText.text,str];
}
答案 2 :(得分:1)
你也可以这样做
NSMutableArray *array = [[NSMutableArray alloc]initWithObjects:@"figo",@"messi",@"totti",@"ronaldo",@"pirlo", nil];
NSMutableString* theText = [NSMutableString new];
for (NSString* line in array)
{
[theText appendFormat: @"%@\n", line];
}
[text setText:theText];
只需将NSString更改为NSMutableString
即可