1

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

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

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

2 回答 2

1

您访问它们的方式与从任何其他视图控制器访问成员的方式相同:您需要对父视图控制器的引用。例如,您可以在弹出视图控制器上拥有一个指向父视图控制器的成员变量。(您可能希望使此类引用变弱或不保留。)该成员通常是弹出视图控制器的“代表”。

你可以theView在展示它之前设置它,或者将它传递给它的初始化器。

(我不确定,但您也可以尝试查看parentViewControllerpresentingViewController查看弹出视图控制器。)

于 2012-08-25T01:00:55.843 回答
0

最好的方法是使用属性

@property double ivar(我记得)这种方式你会这样称呼它。

double test = self.popover.ivar;

或者也许double test = [self.popover ivar]。两者都应该工作。

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

对于方法,如果是双精度,

- (double)ivar
{
     return 5;
}

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

return [ivar2 copy];

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

希望我有所帮助!

编辑:用 UIView 替换那个“双重”的东西,只是说

于 2012-08-25T01:13:00.407 回答