【问题标题】:Print all items in NSMutablearray打印 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 的所有项目?

【问题讨论】:

    标签: ios nsmutablearray uitextview


    【解决方案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];
    猜你喜欢
    • 2012-12-11
    • 1970-01-01
    • 1970-01-01
    • 2015-09-04
    • 2014-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-29
    相关资源
    最近更新 更多