如何访问在该 UIPopoverController 内调用 UIPopoverController 的控制器的成员?
调用 UIPopoverController 的控制器被设置为弹出窗口的委托(不确定这是否对我有帮助):
self.popover = [[UIPopoverController alloc] initWithContentViewController:theView];
[self.popover setDelegate: self];
如何访问在该 UIPopoverController 内调用 UIPopoverController 的控制器的成员?
调用 UIPopoverController 的控制器被设置为弹出窗口的委托(不确定这是否对我有帮助):
self.popover = [[UIPopoverController alloc] initWithContentViewController:theView];
[self.popover setDelegate: self];
您访问它们的方式与从任何其他视图控制器访问成员的方式相同:您需要对父视图控制器的引用。例如,您可以在弹出视图控制器上拥有一个指向父视图控制器的成员变量。(您可能希望使此类引用变弱或不保留。)该成员通常是弹出视图控制器的“代表”。
你可以theView
在展示它之前设置它,或者将它传递给它的初始化器。
(我不确定,但您也可以尝试查看parentViewController
或presentingViewController
查看弹出视图控制器。)
最好的方法是使用属性
@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 替换那个“双重”的东西,只是说