打印 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