既然已经执行到 reloadData ,但tableview的代理方法 ... numberOfRowsInSection却没有被执行,最有可能的原因是tableview的delegate,datasource未指定。仔细检查有没有这两句
self.tableView1.delegate=self;
self.tableView1.datasource=self;
再者检查页面有没有如下代码的设置
self.tableview1.delegate=nil;
self.tableview1.datasource=nil;
这样也会让你先前的设置失效。
还有你上面中有提到“在B类中当数据改变时调用上边的函数”
view1在B类中是引用的关系? 像这种当一个对象发生改变时去通知另一个对象的场景。建议你使用delegate 或notification 来处理。