【问题标题】:passing data to secondViewController将数据传递给 secondViewController
【发布时间】:2011-11-28 10:10:39
【问题描述】:

尝试从我以前的 ViewController 发送一些数据。为了更清楚,尝试将Si-Calendar 的选定日期发送到我的 secondView。

我以这种方式将日历添加到我的视图中:

CalendarMonth *aCalendarView = [[CalendarMonth alloc] initWithFrame:CGRectMake(0, 0, 320, 324) logic:calendarLogic];
[aCalendarView selectButtonForDate:selectedDate];
[self.view addSubview:aCalendarView];

如何使用选定的日期并将其发送到我的 secondViewController(我将在其中显示选定日期的 UIView)?

【问题讨论】:

  • 将对象发送到视图或控制器在语法上是相同的。 Objective-c 不知道视图和控制器之间的区别。这不是一种语言特征,而是一种模式。对于 obj-c 它只是将一个对象从一个对象传递到另一个对象。所以你的问题在这里得到了回答:stackoverflow.com/questions/8243266/…
  • 您能解释一下这句话背后的数学原理吗?

标签: iphone uiviewcontroller ios5 pushviewcontroller addsubview


【解决方案1】:

向您的 secondViewController 添加一个日期属性,并在您创建实例时适当地设置它...

【讨论】:

    【解决方案2】:

    第一个或第二个 viewController 是什么有点不清楚,但通常您可以为此目的使用委托。有关如何执行此操作的示例,请查看this answer

    【讨论】:

      【解决方案3】:

      视图控制器之间交换数据的方式有很多种,只要把它们当做对象就好了。

      1. 第一个控制器持有第二个控制器的 ref,并使用变量和方法传输数据
      2. 使用委托,
      3. 使用通知

      等等

      【讨论】:

        【解决方案4】:

        我可以看到您正在将 CalenderMonth 作为子视图添加到另一个视图。因此,如果您不释放它(直到您创建第二个视图控制器),您可以将日历月 obj 的 selectedDate 设置为第二个视图控制器的 iVar。否则为 CalenderMonth 类创建一个委托。将第二个视图控制器设置为 CalenderMonth 的委托并执行必要的操作。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-09-05
          • 2015-11-16
          • 2015-09-23
          • 2018-03-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多