如何使用 objective c 逐行打印数组元素

how to print array element line by line using objective c

我想像周期性的那样逐行打印数组元素 table ,这是我的代码..

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];'

正如@Larme 在评论中所述,您正在调用一个 returns 值但不使用该值的方法。您似乎还混淆了类型。

试试这个:

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

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

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

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

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