UITableView不重新加载数据或调用cellForRowAtIndexPath

时间:2011-03-19 16:38:44

标签: ios uitableview

UITableView的{​​{1}}方法存在严重问题。我有一个reloadData班,UIViewController,其中包含WiGiMainViewControllerUITableView。我目前正在NSMuttableArray发出网络电话,并在下载数据后向AppDelegate发布通知。在我的通知选择器方法reloadWigiList中,我传递的WiGiMainViewController包含最近下载的项目。然后,我使用传入的数组初始化NSArray的{​​{1}},然后继续在我的WiGiMainViewController对象上调用NSMuttableArray。我可以从reloadData()语句中看到UITableView在重新加载但不是NSLog时被触发,因此导致UI不会使用新下载的项重新加载numberOfRowsInSection。我已经验证了在主线程上调用了cellForRowAtIndexPath方法,并且在UITableView中设置了数据源委托,并以编程方式在WiGiMainViewController的viewDidLoad方法中。我的reloadData,wigiLists没有重新加载数据的任何想法,特别是没有调用IB方法?

UITableView

1 个答案:

答案 0 :(得分:2)

哇!经过3天的撞击这个问题,这简直太荒谬了。在我的WiGiMainViewController的ViewDidLoad方法中,我正在初始化我的tableview:

self.wigiLists = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];

因为我已将我在IB中创建的tableView链接到我的实例wigiLists,所以在ViewDidLoad中分配和初始化覆盖了我在IB中创建并正在显示的tableView的链接。摆脱这条线修复了一切。