将数据传递回先前分配的UIViewController

时间:2011-08-04 12:34:01

标签: iphone objective-c ios ios4

我有一个视图控制器,然后有一个按钮传递给选项菜单。

设置选项后,需要将其返回到先前分配的viewcontroller。

如果没有'alloc and init another'对象实例,这怎么可能?

3 个答案:

答案 0 :(得分:2)

您可以使用委托协议来实现此目的。第一个视图控制器应该成为第二个视图控制器的委托,然后您可以在选择完成后在第一个视图控制器中调用此委托方法。

您可以在objective-c中查找谷歌以实现代表。它非常简单。添加

@protocol <delegatename>
<declare delegate method>
@end

在第二个视图控制器中创建一个成员变量,用于分配委托。并在实现委托的类中定义方法。

答案 1 :(得分:0)

当您init选择viewController时,将其引用传递给其父级。

[[OptionViewController alloc] initWith...: parent:];

使用@property或方法或类似方法呼叫父母传回数据。

答案 2 :(得分:0)

您可以使用共享单身人士吗? http://cocoawithlove.com/2008/11/singletons-appdelegates-and-top-level.html

或者将参数保存到nsuserdefaults并在第一个viewcontroller中读回来

或其他临时商店,例如您的appdelegate

之前我已经使用了上述三种方法。