gpt4 book ai didi

iphone - UITableView::实例化的Bugs(里面有详细描述)

转载 作者:行者123 更新时间:2023-11-29 04:40:48 25 4
gpt4 key购买 nike

我正在尝试缩小 iOS 应用程序中 2 个独立的 UITableView 实例遇到的问题范围。也许我在 UITableViews 上设置了一个错误的属性,或者可能是其他原因,但以下是我所能确定的两者的症状。

首次创建表并加载数据时会发生以下两个错误。但是,如果我然后拖动并释放(从而成功地滚动表格,即使是一点点),这两个错误都会立即消失。

  • 我无法点击任何行(从未发送委托(delegate)回调)
  • 没有数据出现(就像表格是空的一样)

同样,当我尝试在 table 上拖动时,这两个错误都会立即消失。我还应该提到它们并不是 100% 都会发生。我猜这可能意味着我缺少某种竞争条件。

这些表是 UITableView 的以编程方式实例化的子类(通过 initWithFrame:)。这是我在子类上重写的构造函数:

- (id) init
{
if((self = [super initWithFrame:CGRectMake(0, 0, POST_WIDTH, 0)]))
{
self.scrollsToTop = YES;
self.dataSource = self;
self.delegate = self;
self.rowHeight = POST_DEFAULT_HEIGHT;
self.delaysContentTouches = YES;
self.backgroundColor = [UIColor clearColor];
self.separatorColor = [UIColor clearColor];
self.scrollIndicatorInsets = UIEdgeInsetsMake(0, 0, 0, 2);
self.showsVerticalScrollIndicator = NO;
}
return self;
}

回顾一下:上述 2 个错误中的零个、一个或两个在创建每个表格时随机出现在每个表格中,但在稍微滚动表格后就会消失。

感谢您的耐心,因为我很困惑:(

FWIW,它发生在运行 iOS5 的 iPhone 和 iPad 上,包括模拟器。

最佳答案

我假设您的问题是由于数据源和委托(delegate)造成的。尝试为您创建和使用 tableView 的类设置数据源和委托(delegate)。

从您的子类中更改以下代码

self.dataSource = self;
self.delegate = self;

像这样的 super 类

 tableView.dataSource = self;
tableView.delegate = self;

关于iphone - UITableView::实例化的Bugs(里面有详细描述),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10424648/

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