UITableView
的{{1}}方法存在严重问题。我有一个reloadData
班,UIViewController
,其中包含WiGiMainViewController
和UITableView
。我目前正在NSMuttableArray
发出网络电话,并在下载数据后向AppDelegate
发布通知。在我的通知选择器方法reloadWigiList中,我传递的WiGiMainViewController
包含最近下载的项目。然后,我使用传入的数组初始化NSArray
的{{1}},然后继续在我的WiGiMainViewController
对象上调用NSMuttableArray
。我可以从reloadData()
语句中看到UITableView
在重新加载但不是NSLog
时被触发,因此导致UI不会使用新下载的项重新加载numberOfRowsInSection
。我已经验证了在主线程上调用了cellForRowAtIndexPath
方法,并且在UITableView
中设置了数据源委托,并以编程方式在WiGiMainViewController的viewDidLoad方法中。我的reloadData
,wigiLists没有重新加载数据的任何想法,特别是没有调用IB
方法?
UITableView
答案 0 :(得分:2)
哇!经过3天的撞击这个问题,这简直太荒谬了。在我的WiGiMainViewController的ViewDidLoad方法中,我正在初始化我的tableview:
self.wigiLists = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
因为我已将我在IB中创建的tableView链接到我的实例wigiLists,所以在ViewDidLoad中分配和初始化覆盖了我在IB中创建并正在显示的tableView的链接。摆脱这条线修复了一切。