2012-04-08 24 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