如何在文本视图中的NSMutableArray中附加值?

时间:2013-08-30 08:44:37

标签: ios objective-c nsmutablearray uitextview

我有一个在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 

3 个答案:

答案 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

即可