【问题标题】:How can I reload data in tableview in view controller in iphone如何在 iphone 的视图控制器中重新加载 tableview 中的数据
【发布时间】:2011-02-03 17:05:32
【问题描述】:

我是 iphone 开发新手。我在视图中创建了 5 个按钮。单击按钮时,它会导航到相应的视图。单击“新闻”按钮后,它会导航并在表格视图中显示解析详细信息。(这个表格视图,我创建了视图控制器并使用 Interface Builder 添加了表格视图,并且我已经设置了所有属性。) 然后我转到另一个按钮并返回“新闻”按钮,每次都会发生解析。当我回到按钮时如何避免多次解析。

我试过这个,我的代码是,

 - (void)viewDidAppear:(BOOL)animated {

     [super viewDidAppear:animated];

     static int i;

     if(i == 0)
     {
          NSString * path = @"http://www.AAAAAAAAAAAAAA.com";

         [self parseXMLFileAtURL:path];

         i++;

     }

      [self.newsTable reloadData];

  }

现在解析只发生了一次,但数据不显示。

我的问题是 tableview 没有重新加载。 newsTable 是 Tableview 的实例。

我怎样才能做到这一点?

请帮帮我。

【问题讨论】:

    标签: ios iphone tableview reload


    【解决方案1】:
      [self.newsTable reloadData];
    

    将这一行放在点击新闻按钮上。

    它会在您单击时重新加载表格视图。 因为 view 只加载了一次调用,这就是为什么没有重新加载 table view 的原因。

    【讨论】:

      【解决方案2】:

      我想,你正在使用 NSXMLParser。

      解析器有一些您想要实现的委托方法:

      parser:didStartElement:namespaceURI:qualifiedName:attributes: 
      parser:didEndElement:namespaceURI:qualifiedName:
      parserDidEndDocument:
      

      所以,你只需要将 reloadData 调用放入parserDidEndDocument:

      【讨论】:

      • 他已经检查了一个带有静态变量“i”的“if”条件,所以控件第二次不会进入那个“if”循环。那么NSXML解析器委托方法的用途是什么.
      猜你喜欢
      • 1970-01-01
      • 2011-02-05
      • 1970-01-01
      • 1970-01-01
      • 2015-09-10
      • 2019-09-09
      • 1970-01-01
      • 2018-06-01
      • 1970-01-01
      相关资源
      最近更新 更多