gpt4 book ai didi

iphone - 循环遍历 UITableView 的 UITableViewCells

转载 作者:行者123 更新时间:2023-11-28 23:08:22 26 4
gpt4 key购买 nike

所以我一直在尝试从 UITableView 加载单元格并将它们放入 NSMutableArray 以便稍后迭代。我有一个名为 populateArrayWithCells 的方法,在我放入 6 个以上的单元格之前它工作正常。由于某种原因,返回的对象为零。我的代码如下,StocksAndAccounts 是 UITableView,我在第 1 节中对 UITableViewCells 进行了子类化。

- (void) populateArrayWithCells
{
for (int i = 0; i < [StocksAndAccounts numberOfRowsInSection:1]; i++) {
if ([StocksAndAccounts cellForRowAtIndexPath:[NSIndexPath indexPathForRow:i inSection:1]] == nil) {
NSLog(@"object at index %i is nil", i);
}
[stocksCells addObject:[StocksAndAccounts cellForRowAtIndexPath:[NSIndexPath indexPathForRow:i inSection:1]]];
}
}

此函数在通过 IBAction 调用时成功返回单元格,直到索引为 6,在这种情况下它为 nil 并崩溃,因为它试图添加一个 nil 的对象。非常感谢任何对此问题的帮助。

最佳答案

我认为您误解了 UITableViews 的工作原理。 tableview 中的单元格仅在需要显示时才加载,并且它们会被回收,因此如果您一次只能在屏幕上看到六个单元格,那么表格将永远只包含六个单元格,它只会不断更新和重用与您上下滚动时相同的六个。

不是将数据存储在表格单元格中,而是将其存储在 View Controller 中的自定义对象数组中,并在表格从数据源方法请求它们时使用这些对象填充单元格。

这样,如果您需要将该数据用于除显示在表格中之外的其他用途,您可以从原始对象重新创建它,而不是尝试将其复制出表格单元格。

关于iphone - 循环遍历 UITableView 的 UITableViewCells,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8859638/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com