Iphone 拆分视图iPad-重新加载表格数据?
我已经在Xcode中创建了一个分割视图项目,我正在使用Iphone 拆分视图iPad-重新加载表格数据?,iphone,objective-c,nsxmlparser,uitableview,Iphone,Objective C,Nsxmlparser,Uitableview,我已经在Xcode中创建了一个分割视图项目,我正在使用NSXMLParser从Internet上的XML文件中检索数据。数据很好,并且假设结构正确,但是当我测试它时,我发现UITableViewDelegate方法在我的NSXMLParser完成它在数据中的运行之前被调用,从而导致一个空白表。我在预定义的类中没有看到任何指向self.tableView的链接,正如在许多StackOverflow问题中提到的那样。在NSXMLParser完成其工作后,如何在RootViewController中重
NSXMLParser
从Internet上的XML文件中检索数据。数据很好,并且假设结构正确,但是当我测试它时,我发现UITableViewDelegate
方法在我的NSXMLParser完成它在数据中的运行之前被调用,从而导致一个空白表。我在预定义的类中没有看到任何指向self.tableView
的链接,正如在许多StackOverflow问题中提到的那样。在NSXMLParser
完成其工作后,如何在RootViewController
中重新加载数据
EDIT我在代码中设置了一些NSLog
点,您可以通过此控制台输出看到,在数组具有任何对象之前,正在调用UITableViewDelegate
方法
2011-05-23 19:41:17.591 appname[2804:207] numberOfSectionsInTableView array count: 0
2011-05-23 19:41:17.596 appname[2804:207] numberOfSectionsInTableView array count: 0
2011-05-23 19:41:17.600 appname[2804:207] numberOfSectionsInTableView array count: 0
2011-05-23 19:41:17.610 appname[2804:7303] callParse array count: 2
2011-05-23 19:41:19.911 appname[2804:207] hudWasHidden array count: 2
EDIT2让我进一步澄清:如何在使用拆分视图模板创建的窗口左侧创建与
UITableView
的某种连接?它不是在Interface Builder中创建的,因此我无法执行IBOutlet
UITableView有一个方法reloadData
,该方法将再次调用tableViews委托方法(从而重新填充表)。解析器完成其工作后,调用[tableView reloadData]
,其中tableView应替换为UITableView实例。如果无法找到指向tableView的指针,只需使用委派或通知通知RootViewController重新加载数据即可
我认为,最简单的方法就是通知。检查一下
简而言之,您可以通过在RootViewController中这样注册来添加查找通知:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(xmlDidFinish:)
name:@"finishXML" object:nil];
在XMLParser中,当您这样做时,实际上会发布通知
[[NSNotificationCenter defaultCenter]
postNotificationName:@"finishXML" object:self];
“查看预定义类中的任何链接”是什么意思?拆分视图模板左侧显示的
UITableView
没有引用。我知道,但我没有指向需要重新加载数据的表的指针,这基本上是我的问题。