【问题标题】:Assign string values to a NSArray - iOS将字符串值分配给 NSArray - iOS
【发布时间】:2014-03-01 15:37:06
【问题描述】:

我有一个 iOS 应用程序,它从 JSON 文件下载/解析字符串。我需要将这些字符串存储在一个 NSArray 中。但是每次我尝试都会收到错误:

expected method to write array element not found on object of type 'nsarray *'

我所做的只是将这些字符串分配给 for 循环中的数组....但它不起作用。这让我很困惑,为什么......我已经将字符串和变量分配给 C 和 C++ 中的数组......当然,Objective-C 也支持这一点。我做错了什么?

这是我的简单 for 循环:

for (int loop = 0; loop <= [youtube_channel_id_tags count]; loop++) {

    self.getYTIcon = [[YTICONGET alloc] init];
    NSString *temp_url = [self.getYTIcon get_user_icon:youtube_channel_id_tags[_carousel.currentItemIndex]];
    youtube_user_icons[loop] = [temp_url description];
}

我做错了什么??

谢谢,丹。

【问题讨论】:

  • 尝试“NSArray”而不是“nsarray”,Objective-C、C 和 C++ 都区分大小写!
  • @trumpetlicks 是的,我已将我的数组定义为“NSArray”。
  • 顺便说一句 - 你的 loop 变量应该是 NSUInteger,而不是 int。
  • @rmaddy 好的,谢谢。很奇怪,我的 Objective-C/Cocoa 书中的例子说使用 int....
  • int 通常会起作用,但由于NSArray count 和NSArray 的所有其他与索引相关的方法都使用NSUInteger,因此更正确。

标签: objective-c string nsarray assign


【解决方案1】:

youtube_user_icons 需要是 NSMutableArray 以便您可以更改其内容和行

youtube_user_icons[loop] = [temp_url description];

需要

[youtube_user_icons addObject:[temp_url description]];

【讨论】:

    【解决方案2】:

    你的youtube_user_iconstype 是什么?应该是NSMutableArray*,而不是nsarray *!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多