【问题标题】:How to print a single array element in Objective-C?如何在 Objective-C 中打印单个数组元素?
【发布时间】:2010-02-05 06:30:52
【问题描述】:

如何在 Objective-C 中的特定索引处打印数组元素?我的代码如下所示:

NSString *String=[NSString StringWithContentsOFFile:@"/User/Home/myFile.doc"];
NSString *separator = @"\n";
NSArray *array = [String componetntsSeparatedByString:separator];
NSLog(@"%@",array);

我可以一次打印数组的全部内容,但我想将每个索引处的元素分配到一个字符串中,比如...

str1=array[0];
str2=array[1];
str3=array[0];...this continues

我该怎么做?

【问题讨论】:

  • 嘿,我得到了答案......对不起......它的 NSLog(@"%@",[array objectAtIndex:index]);

标签: objective-c arrays nsarray


【解决方案1】:

您需要objectAtIndex: 方法。示例:

NSString *str1 = [array objectAtIndex:0];
NSString *str2 = [array objectAtIndex:1];
NSString *str3 = [array objectAtIndex:2];

来自documentation

objectAtIndex:
返回位于 index 处的对象。

- (id)objectAtIndex:(NSUInteger)index

参数
索引
接收器范围内的索引。

返回值
位于 index 处的对象。

讨论
如果 index 超出数组的末尾(即,如果 index 大于或等于 count 返回的值),则引发 NSRangeException .

【讨论】:

  • 嘿,谢谢...但是我们有什么函数可以知道数组中有多少个数组元素。 ,因为我需要将每个数组元素放在一个字符串中,然后对字符串进行一些操作,然后再次将下一个数组元素放入同一字符串并对字符串执行一些操作......同样继续。所以我想到了使用for循环。 ,因此对于for循环中的终止条件,应该写什么?帮我。它就像 for(int n=0; n
  • 嘿..没问题..我找到了解决方案:)
【解决方案2】:

如果这只是为了调试,你可以尝试在 gdb 中使用 po 。

【讨论】:

    【解决方案3】:

    从 clang 3.3 版开始,您可以使用[index] 表示法,所以

    NSString *str1 = array[0];
    

    现在可以工作了。详情请见here

    【讨论】:

      猜你喜欢
      • 2020-10-16
      • 1970-01-01
      • 2011-03-24
      • 2020-04-23
      • 1970-01-01
      • 1970-01-01
      • 2019-07-22
      • 1970-01-01
      相关资源
      最近更新 更多