Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 拆分视图iPad-重新加载表格数据?_Iphone_Objective C_Nsxmlparser_Uitableview - Fatal编程技术网

Iphone 拆分视图iPad-重新加载表格数据?

Iphone 拆分视图iPad-重新加载表格数据?,iphone,objective-c,nsxmlparser,uitableview,Iphone,Objective C,Nsxmlparser,Uitableview,我已经在Xcode中创建了一个分割视图项目,我正在使用NSXMLParser从Internet上的XML文件中检索数据。数据很好,并且假设结构正确,但是当我测试它时,我发现UITableViewDelegate方法在我的NSXMLParser完成它在数据中的运行之前被调用,从而导致一个空白表。我在预定义的类中没有看到任何指向self.tableView的链接,正如在许多StackOverflow问题中提到的那样。在NSXMLParser完成其工作后,如何在RootViewController中重

我已经在Xcode中创建了一个分割视图项目,我正在使用
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
没有引用。我知道,但我没有指向需要重新加载数据的表的指针,这基本上是我的问题。