我正在尝试缩小我在iOS应用程序中使用2个单独的UITableView实例的问题。也许我在UITableViews上设置了一个不好的属性,或者它可能是别的东西,但是这两个的症状都是我最好的确定。
首次创建表并加载数据时,会发生以下两个错误。但是,如果我然后拖动并释放(从而成功滚动表格,甚至一点点),两个错误都会立即消失。
同样,一旦我试图拖动桌子,这两个错误就会立即消失。我还应该提到它们不会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,它发生在iPhone和iPad上,包括运行iOS5的模拟器。
答案 0 :(得分:1)
我假设您的问题是由于数据源和委托。尝试为您创建和使用tableView的类设置数据源和委托。
从子类
更改以下代码self.dataSource = self;
self.delegate = self;
像这样的超级
tableView.dataSource = self;
tableView.delegate = self;