【问题标题】:How to access programmatically a tableview added with storyboard如何以编程方式访问使用情节提要添加的表格视图
【发布时间】:2016-12-17 03:09:52
【问题描述】:

我使用情节提要向我的视图控制器添加了一个表格视图。幕后究竟发生了什么?如果创建了 UITableview 对象,我如何以编程方式访问该对象?实例的名称是什么?它是我的 viewcontroller 对象的属性吗?

更具体地说,我需要做的是强制我的 tableview 刷新(从我的视图控制器内部)。我在其他帖子中读到我应该能够做这样的事情 [self.tableview reloadData]。我不能这样做,因为我的视图控制器没有一个名为“tableview”(或类似的东西)的属性

【问题讨论】:

    标签: ios objective-c uitableview uiviewcontroller storyboard


    【解决方案1】:

    Control + 单击并将您的 tableView 拖到头文件中以创建 IBOutlet

    通过控制单击设置委托和数据源并将其从表格视图拖动到视图控制器 - 确保两个点都可见。现在

    在 interface .h 文件中添加委托和数据源:

    @interface HomeTableViewController : UIViewController
    <UITableViewDataSource, UITableViewDelegate>
    

    现在您的视图控制器应该可以访问使用 [self.tableView reloadData] 所需的方法

    【讨论】:

      【解决方案2】:

      试试这个simple table view

      还有这个work with custom tableview cell

      试试上面的教程,在你的情况下使用[self.yourtablviewname reload] 你必须为你的表视图创建一个outlet 并使用它。

      【讨论】:

        【解决方案3】:

        请记住,故事板定义了一个对象集合,这些对象是在您创建 ViewController 的实例时创建的。

        您在正确的轨道上,您需要在视图控制器中定义变量,这些变量是对故事板中对象的引用。您在代码中将它们标记为 IBOutlet。然后,您将它们“连接”到情节提要中的对象。右键单击情节提要中的视图控制器,您将看到已指定为 IBOutlet 的变量列为“出口”。您可以从弹出表拖动到情节提要中的对象以连接它们。现在,当创建 ViewController 时,所有 IBOutlet 变量都设置为指向刚刚创建的实例中的各种对象(表格、文本视图等)。

        请记住,您使用 Interface Builder 进行的“连接”发生在您在 IB 中创建对象实例时的正常运行时间。

        【讨论】:

          猜你喜欢
          • 2012-05-11
          • 1970-01-01
          • 1970-01-01
          • 2012-10-13
          • 1970-01-01
          • 2012-02-28
          • 2012-02-12
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多