0

我从 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]);

输出为:“count of cellButtonsArray = 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]);

输出为:“cellButtonsArray 的计数 = 9”

显然,计数不是我所期望的。该数组在少于九个对象的情况下正常工作。否则一切正常,除了未更新的九个按钮(单元格)。有任何想法吗?

提前致谢。

4

1 回答 1

3

创建数组时 cell9 是 nil 吗?

arrayWithObjects 在遇到任何 nil 时停止添加对象,而不仅仅是您在最后指定的 nil。

于 2012-04-17T03:30:06.223 回答