gpt4 book ai didi

objective-c - 仅显示 UITableView 中的前 10 个单元格

转载 作者:行者123 更新时间:2023-11-28 18:24:45 25 4
gpt4 key购买 nike

有没有办法只显示 UITableView 中的前 10 个单元格?我有一个从 XML 文件填充的 UITableView,我只想显示前 10 个单元格。问题是 UITableView 在这些部分中有多个部分和行。每个用户的行数和部分数不同。

是否可以隐藏其余的单元格或首先不显示它们(例如,通过不将它们添加到 cellForRowAtIndexPath 中),我尝试在 cellForRowAtIndexPath 中设置一个计数器,每次 cellForRowAtIndexPath 方法是 + 1叫。我对计数器进行了 NSLog,它变得非常大,一直到 80,而我在 UITableView 中甚至没有 30 个单元格。

谢谢!

编辑:问题是每次滚动 UITableView 时都会调用 cellForRowAtIndexPath 每次滚动经过 indexPath(对于相同的 indexPath),因此计数器无效。

编辑 2:我认为这行不通,所以我修改了我的 XML 文件以在文件中包含一个计数器,现在我可以检查 xml 文件中的计数器是否大于 10,并检查它以修改 cellForRowAtIndexPath 中的单元格。

最佳答案

您可以通过更改 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 中的返回值来限制“加载”的行数。

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return 10;
}

这个 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 只会被调用 10 次。

关于您的柜台:(您可能做错了)

您是否将其声明为 NSInteger *somensint;

NSInteger 是原始类型,不是对象!您真正在做的是增加 NSInteger* 指向的内存地址。由于 NSInteger 的长度为 4 个字节,因此每次递增它时,编译器都会假设,因为它是一个指针,所以您想跳转到内存中的下一个 NSInteger,这就是为什么您得到 4 的倍数的原因。只需删除 * 当您声明 NSInteger 时,您应该准备就绪。

关于objective-c - 仅显示 UITableView 中的前 10 个单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12468486/

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