我从NSArray arrayWithObjects得到明显不一致的行为:我正在尝试创建一个19元素数组,但我的代码行只创建了9个元素。使用字符串的测试工作。这就是我所看到的。
cellButtonsArray = [NSArray arrayWithObjects: @"z", @"z", @"z", @"z",
@"z", @"z", @"z", @"z", @"z", @"z", @"z", @"z", @"z",
@"z", @"z", @"z", @"z", @"z", @"z", nil];
NSLog(@"count of cellButtonsArray = %i", [cellButtonsArray count]);
输出为:“countButtonsArray = 19”//这是测试代码,没问题。
我的真实代码使用的是在标题中声明的UIButtons对象。如果我使用两个九个元素的数组,一切都很好。但是,以下代码不会抛出任何警告或错误,并适用于前九个单元格。其余的都被忽略了。
cellButtonsArray = [NSArray arrayWithObjects:cell0, cell1, cell2, cell3, cell4,
cell5, cell6, cell7, cell8, cell9, cell10, cell11, cell12, cell13,
cell14, cell15, cell16, cell17, cell18, nil];
NSLog(@"count of cellButtonsArray = %i", [cellButtonsArray count]);
输出为:“countButtonsArray = 9”
显然,这不是我所期望的。该数组使用少于九个对象正常工作。否则一切都有效,除了没有更新的九个按钮(单元格)。有什么想法吗?提前致谢。
答案 0 :(得分:3)
创建数组时,cell9为零吗?
arrayWithObjects在遇到任何nil时停止添加对象,而不仅仅是你在最后指定的nil。