2012-04-08 25 views
4
所有项目

我的程序有一个tableview中,我要显示在一个TextView打印的NSMutableArray

我有下面的代码这表明在TextView中的NSMutableArray的的只有最后一个项目从tableview中选定的项目:

我想问题是for循环但无法弄清楚。

看台是NSMutablearray,selectItems是NSMutablearray,所选项目是UItexview。

- (void) tableView: (UITableView *) tableView didSelectRowAtIndexPath: (NSIndexPath *) indexPath { 
    [selectItems addObject:[stands objectAtIndex:indexPath.row]];  
    for (NSString *yourVar in selectItems) { 

     selectedItems.text=yourVar; 
     NSLog (@"Your Array elements are = %@", yourVar); 

    } 

    [self.mytableView reloadData]; 
} 

我尝试以下方法,但它崩溃:

[selectItems addObject:[stands objectAtIndex:indexPath.row]]; 
int length = [selectItems count]; 

    for(int i=0;i<=length;i++){ 
     selectedItems.text= [selectItems objectAtIndex:i]; 
    } 

我该怎么让在texview的NSMutableArray中的所有项目?

回答

3
- (void) tableView: (UITableView *) tableView didSelectRowAtIndexPath: (NSIndexPath *) indexPath { 
    [selectItems addObject:[stands objectAtIndex:indexPath.row]];  
    NSMutableString *exString = [[NSMutableString alloc]init]; 
    for (NSString *yourVar in selectItems) { 

     NSLog (@"Your Array elements are = %@", yourVar); 
     [exString appendFormat:@"\n%@",yourVar]; 

    } 
    selectedItems.text=exString; 

    [self.mytableView reloadData]; 
} 

这样的事情呢?它接收每个对象,在其中放入一个换行符,然后将其添加到exString中,以形成数组中的一个对象的长链。

+1

你需要使exString成为一个NSMutableString,并且还要执行'[exString appendFormat:@“\ n%@”,yourVar]'。 'stringByAppendingString'返回一个新的字符串,但你忽略它。 – 2012-04-08 21:48:27

+0

没有工作,NSlog仍然打印yourVar中的所有项目,但无法在文本视图中看到任何东西 – 2012-04-08 21:50:12

+0

完成。您可以尝试将'.text'部分移到循环中。 – CodaFi 2012-04-08 21:53:39

0

请确保您正确分配和插入了selectItems。只是添加对象不会创建NSMutableArray。然后你还需要连接你的元素,而不是一遍又一遍覆盖UITextView。

+0

它们被分配为** stand = [[NSMutableArray alloc] init]; selectItems = [[NSMutableArray alloc] initWithObjects:nil]; ** – 2012-04-08 21:52:00