ios - 谁能告诉我为什么 addObject 给出不稳定的结果?

标签 ios ios7 tableview

我有以下代码,它给出了代码后面的结果。由于某种原因,添加的对象有时会按应有的方式嵌入引号中,有时却不像下面的“Abtenauer”那样。谁能告诉我可能会发生什么?

相关代码:

 EQBreedInfo *info = [[EQBreedInfo alloc] init];
 for (int i = 0; i < [_breedlist count]; i++)
 {
      if(!dataArray)
         {
             dataArray = [[NSMutableArray alloc] init];
         }
      info = [_breedlist objectAtIndex:i]
      [dataArray = addObject:info.breedName];

      NSLog(@"breedName - %@",info.breedName);
      NSLog(@"dataArray - %@",dataArray);
 }

结果:

2014-03-18 14:23:51.397 EquineDiary[2343:a0b] breedName - 
2014-03-18 14:23:51.397 EquineDiary[2343:a0b] dataArray - (
    ""
)
2014-03-18 14:23:56.577 EquineDiary[2343:a0b] breedName - Abaco Barb
2014-03-18 14:23:56.577 EquineDiary[2343:a0b] dataArray - (
    "",
    "Abaco Barb"
)
2014-03-18 14:24:07.333 EquineDiary[2343:a0b] breedName - Abtenauer
2014-03-18 14:24:07.334 EquineDiary[2343:a0b] dataArray - (
    "",
    "Abaco Barb",
    Abtenauer
)
2014-03-18 14:25:13.695 EquineDiary[2343:a0b] breedName - Abyssinian horse
2014-03-18 14:25:13.695 EquineDiary[2343:a0b] dataArray - (
    "",
    "Abaco Barb",
    Abtenauer,
    "Abyssinian horse"
)

提前致谢

最佳答案

这里有几件事。

  1. info = [_breedlist objectAtIndex:i] 末尾缺少一个分号。
  2. [dataArray = addObject:info.breedName]; 有一个额外的等号卡在那里。
  3. 您正在查看的是来自 dataArray 变量的description,它在输出中添加了引号,只是为了让您清楚地了解其中实际包含的内容用于调试目的的数组。引号实际上不是存储的字符串的一部分。
  4. for 循环中,使用 NSUInteger 而不是 int[_breedlist count] 将返回一个 NSUInteger,因此如果您与 i 的比较是比较相同类型的两个变量,则最好。<

另一件要改变的事情是分配初始数组的方式。

把这段代码移到for循环之前:

if (!dataArray) {
    dataArray = [[NSMutableArray alloc] init];
}

您不需要在每次迭代时都检查它,您只是在无益地消耗周期。

关于ios - 谁能告诉我为什么 addObject 给出不稳定的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22470004/

相关文章:

ios - 如何停止具有相同主次的 iBeacon 检测?

swift - UITableView : automatically set height for the row and fix it with max height constant

uiviewcontroller - 在Segue中如何从 View Controller 引用tableView

ios - 强制应用商店更新

iphone - EXC_BAD_access code=2 地址 0x8

android - 以编程方式重新启动 React Native 应用程序

ios - 无法追加 NSString

ios - 如何将自定义单元格文本字段的文本设置为 Swift 中自定义对象数组内的变量?

ios - 使图像适合iOS中的按钮

ios - 覆盖已经显示的本地通知