首页 > 解决方案 > 如何使用objective c逐行打印数组元素

问题描述

我想像元素周期表一样逐行打印数组元素,这是我的代码..
输出应垂直

NSArray* myInfo1 = [NSArray arrayWithArray:allhrStartTime];
[myInfo1 componentsJoinedByString:@"\n"];

NSArray* myInfo2 = [NSArray arrayWithArray:allhrStopTime];
[myInfo2 componentsJoinedByString:@"\n"];

NSArray* myInfo3 = [NSArray arrayWithArray:allhrStartLocation];
[myInfo3 componentsJoinedByString:@"\n"];

NSArray* myInfo4 = [NSArray arrayWithArray:allhrStopLocation];
[myInfo4 componentsJoinedByString:@"\n"];


NSArray* allInfo = [NSArray arrayWithObjects:headers, myInfo1,myInfo2 ,myInfo3,myInfo4, nil];'

标签: iosobjective-cnsarray

解决方案


正如@Larme 在评论中所说,您正在调用一个返回值但不使用该值的方法。您似乎在类型之间也有一些混淆。

试试这个:

NSString *allhrStartTimeString = [allhrStartTime componentsJoinedByString:@"\n"];
NSLog(allhrStartTimeString);

第一行获取原始数组并将其中的值连接起来,用新行分隔每个值,以生成一个字符串。第二行在控制台上显示该字符串。你应该看到你所寻找的每一行的一个元素。

但是,您的代码建议您希望每个数组的内容在输出中显示为一,从而生成表格结果。为此,您需要做更多的工作:

  • 首先创建一个空实例NSMutableString
  • 使用appendFormat:将包含标题的第一行添加到此可变字符串
  • 现在循环 for ix= 0 到列数组的最大索引
    • 再次使用appendFormat:将接下来的两个添加到可变字符串中,使用ix每个数组的第 ' 个元素(allhrStartTime, allhrStopTime, allhrStartLocation, allhrStopLocation
  • 结束循环
  • 您的可变字符串现在以表格形式表示您的数据,将其显示在合适的文本字段中或将其转储到控制台,例如使用NSLog.

如果您在编写此代码时遇到困难,请提出一个新问题,请链接到此问题,以便人们了解历史,展示您编写的代码,并解释您遇到困难的地方。毫无疑问,有人会帮助你。高温高压


推荐阅读