打印 NSMutablearray 中的所有项目

Posted

技术标签:

【中文标题】打印 NSMutablearray 中的所有项目【英文标题】:Print all items in NSMutablearray 【发布时间】:2012-04-08 21:39:58 【问题描述】:

我的程序有一个表格视图,我想在文本视图中显示表格视图中的选定项目

我有以下代码在 textview 中仅显示 NSMutablearray 的最后一项

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

stands 是 NSMutablearray,selectItems 是 NSMutablearray,selected 项目是 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 的所有项目?

【问题讨论】:

【参考方案1】:
- (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 以形成数组中对象的一个​​长链。

【讨论】:

您需要将 exString 设为 NSMutableString,同时还要执行[exString appendFormat:@"\n%@", yourVar]stringByAppendingString 返回一个新字符串,但您忽略了它。 没用,NSlog 仍然打印 yourVar 中的所有项目,但在 textview 中看不到任何东西 完成。您可以尝试将 .text 部分移动到循环中。 没有将 .text 移动到循环中不是解决方案,当我将字符串更改为 NSMutaableString 时,Kurt Revis 给出了答案,它起作用了,谢谢 我的代码已更新以反映这一事实。 @KurtRevis,感谢您的帮助,记得标记为已接受!【参考方案2】:

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

【讨论】:

它们的分配方式类似于 stands = [[NSMutableArray alloc] init]; selectItems = [[NSMutableArray alloc] initWithObjects:nil];

以上是关于打印 NSMutablearray 中的所有项目的主要内容,如果未能解决你的问题,请参考以下文章

UITableview 仅打印 NSMutableArray 的第一个对象,IOS

将 NSMutableArray 打印到 UITableView

从 PLIST 中的 NSMutableArray 中删除项目

如何将CGContextAddArc(CGContextRef)中的所有点存储到NSMUtableArray

将 NSMutableArray 中的所有值相加并根据普通分段控制乘以值

NSMutableArray 删除一个条目后丢失所有条目