【问题标题】:how to print array element line by line using objective c如何使用objective c逐行打印数组元素
【发布时间】:2020-10-16 23:15:15
【问题描述】:

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

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

【问题讨论】:

  • componentsJoinedByString:returns a NSString,你不要使用返回值。
  • @Larme 你能否发布替代解决方案,如果我不使用返回值..

标签: ios objective-c nsarray


【解决方案1】:

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

试试这个:

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

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

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

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

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

【讨论】:

  • 请不要尝试将长代码粘贴到无法读取的 cmets 中。如上述答案的最后一段所述,提出一个新问题。 (当您这样做时,如果您希望在此处发布带有链接的评论 [在输入评论时按右侧的“帮助”以查看如何添加链接])正在使用appendString,而不是appendFormat,并且没有附加任何空格或换行符。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-04-23
  • 2019-07-22
  • 1970-01-01
  • 2011-03-24
  • 2011-03-23
  • 1970-01-01
相关资源
最近更新 更多