从UIPopoverController访问父控制器的成员

时间:2012-08-25 00:54:22

标签: ios uipopovercontroller member

如何访问在UIPopoverController中调用UIPopoverController的控制器成员?

调用UIPopoverController的控制器在弹出窗口中设置为委托(不确定这是否对我有帮助):

self.popover = [[UIPopoverController alloc] initWithContentViewController:theView];
[self.popover setDelegate: self];

2 个答案:

答案 0 :(得分:1)

您可以像访问任何其他视图控制器中的成员一样访问它们:您需要对父视图控制器的引用。例如,您可以在弹出窗口视图控制器上有一个指向父视图控制器的成员变量。 (您可能希望将此类引用设置为弱或未获取。)此成员通常是弹出视图控制器的“委托”。

您可以在展示之前在theView上设置此内容,或将其传递给初始化程序。

(我不确定,但你也可以尝试查看popover视图控制器的parentViewControllerpresentingViewController。)

答案 1 :(得分:0)

最好的方法是使用属性

@property double ivar(我记得)这样你就可以这样称呼它。

double test = self.popover.ivar;

或者double test = [self.popover ivar]。两者都应该有用。

为此,请确保在主控制器的.m文件中@synthesize ivar;或将方法设为getter

对于该方法,如果它是双倍的,

- (double)ivar
{
     return 5;
}

就是一个例子。如果您要返回实例变量,最好返回它的副本。例如:

return [ivar2 copy];

如果您正在使用方法,请确保该方法与.h文件中的变量同名。

希望我帮忙!

编辑:替换" double" UIView的事情,只是说