我有一个视图控制器,然后有一个按钮传递给选项菜单。
设置选项后,需要将其返回到先前分配的viewcontroller。
如果没有'alloc and init another'对象实例,这怎么可能?
答案 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
之前我已经使用了上述三种方法。