【问题标题】:table view data update in objective c目标c中的表视图数据更新
【发布时间】:2011-09-12 07:06:13
【问题描述】:

在我的 iphone 应用程序中,我通过单击按钮将数据添加到表格视图,但它没有得到更新。只有当我重新打开应用程序时它才会更新。

【问题讨论】:

    标签: iphone objective-c xcode


    【解决方案1】:

    使用[yourTableView reloadData] 告诉tableview 重新加载其数据并进行更新。

    【讨论】:

    • 如何使用在 Interface Builder 中创建的表视图(对不起,我是初学者)?我的问题是删除表的一行时行号不会更新。谢谢!
    • IB 或代码,同样的故事。通过实例化 NIB(并使用指向实例化表视图的 IBOutlet 变量或属性)创建的 UITableView 就像由代码创建的 UITableView 一样,这里没有区别。你的问题在别处。
    • 谢谢!这里没有问题。我只是试着去理解。不过 IBOutlet 的提示很好。
    • 实际上,带有IBOutlet 注释的ivar 或@property 与任何其他ivar 或@property 没有区别。 IBOutlet 关键字(实际上是 #defined 什么都没有)只是在这里让 IB 知道你想在你的 XIB 中公开这个 ivar/property 以便能够将一些对象连接到它,这样当 IB 实例化对象时,它可以将它影响到这个 ivar/property,就像你通过代码完成它一样。编写self.tableView = [[UITableView alloc] initWithStyle:...]; 与通过IB 创建tableview 并将其连接到XIB 中的tableView IBOutlet 属性完全相同。
    • 感谢真正的好细节。我会努力实现它。
    【解决方案2】:

    更新表格视图的数据源后,在按钮单击时使用[tableView reloadData] 方法。

    所以是这样的:

    -(IBAction) buttonPressed:(id)sender
    {
        // Update data source of table first
        [tableView reloadData]
    }
    

    也可以看看这个:UITableView reload data

    【讨论】:

      【解决方案3】:

      试试[tableview reloadData]

      在 wiewWillApear 方法中

      【讨论】:

        【解决方案4】:

        预览控制器以从其数据源重新加载其数据。

        - (void) reloadData
        

        仅当当前预览项目发生变化时才会重新计算显示。

        【讨论】:

          猜你喜欢
          • 2014-03-14
          • 1970-01-01
          • 2021-10-13
          • 2012-05-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-05-26
          • 1970-01-01
          相关资源
          最近更新 更多