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

时间:2011-05-23 23:44:35

标签: iphone objective-c nsxmlparser uitableview

我在Xcode中创建了一个拆分视图项目,我使用NSXMLParser从Internet上检索数据和XML文件。数据很好并且假设结构正确,但是当我测试它时,我发现{<1}}方法在之前被称为我的NSXMLParser已经完成它的数据运行,从而导致一张空白的桌子。我没有在预先定义的类中看到任何链接到UITableViewDelegate,正如许多StackOverflow问题所引用的那样。在self.tableView完成工作后,我将如何重新加载RootViewController中的数据?

编辑我在我的代码中设置了一些NSXMLParser点,您可以通过此控制台输出看到在数组之前调用NSLog方法任何对象

UITableViewDelegate

EDIT2 让我澄清一下:如何创建与使用拆分视图模板创建的窗口左侧的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 的某种连接?它不是在Interface Builder中创建的,所以我不能做UITableView

3 个答案:

答案 0 :(得分:1)

如果你没有指向tableView的指针,只需使用委托或通知告诉你的RootViewController重新加载数据。

我认为简单的方法就是通知。查看official documentation

简而言之,您可以通过在RootViewController中注册这些来添加查找通知:

[[NSNotificationCenter defaultCenter] addObserver:self
    selector:@selector(xmlDidFinish:)
    name:@"finishXML" object:nil];

在您的XMLParser中,您实际上在完成此类

后发布通知
[[NSNotificationCenter defaultCenter]
    postNotificationName:@"finishXML" object:self];

答案 1 :(得分:0)

UITableView有一个方法reloadData,它将再次调用tableViews委托方法(从而重新填充表)。解析器完成它的工作后,调用[tableView reloadData],其中tableView应替换为您的UITableView实例。

答案 2 :(得分:0)

我没有找到答案,我创建了一个新项目并选择了不同的方法。