【问题标题】:Get an event from an other view controller从其他视图控制器获取事件
【发布时间】:2012-04-26 11:52:11
【问题描述】:

我有两个 ViewController。第一个包含并显示一个带有值的数组。 第二个是选择器视图(模态视图控制器),它允许选择要添加到数组上的列(使用“添加”按钮)。 但是,我不知道当用户单击“添加”按钮刷新我的数组时如何检索事件,因为 IBaction 函数和数组不在同一个控制器中。

感谢您的帮助。

【问题讨论】:

    标签: objective-c uiviewcontroller ibaction


    【解决方案1】:

    协议对这种情况很有帮助。

    协议只是方法声明的列表,与类定义无关。

    协议在许多场景中都有用,常见的用法是定义要由其他类实现的方法。一个熟悉的例子是,当使用 tableview 时,您的类实现了 cellForRowAtIndexPath 方法,该方法要求将单元格内容插入到表格中 - cellForRowAtIndexPath 方法在 UITableViewDataSource 协议中定义。

    Simple objective-c protocol example

    【讨论】:

      【解决方案2】:

      您也可以在按下添加按钮时传递一个局部变量,然后在表格视图中重新加载数组。

      我想你想要像在模拟器中添加联系人添加字段功能一样。

      欢迎。

      【讨论】:

      • 感谢您的快速答复!
      【解决方案3】:

      我认为,您在第一个视图控制器中有一个数组,您想在按钮事件(IBAction)的第二个视图控制器中访问它:

      在 secondviewcontroller 中使用数组作为参数创建方法。

      -(void)methodname:(nsmutablearray *)array;
      

      在第一个视图控制器中调用上述方法,并在您通过初始化导航到第二个视图控制器时在此方法中传递您的数组。

      因此,在第二个视图控制器中,您将获得一个可以进一步使用的填充数组。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-02-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-31
        • 2011-12-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多