UIViewController 的parentViewController 属性是只读的,但我正在嵌套自定义视图控制器并希望使用此属性。
但是,由于它是只读的,并且我没有找到其他方法来设置此属性,我的问题是:如何do我设置的?
显然,UINavigationController 可以在 -pushViewController 中以某种方式设置属性, -presentModalViewController 也可以,所以它一定是可能的。
我知道我可以添加自己的 UIViewController 属性,但我确信parentViewController 原则上是正确的属性。
解决方案是:
- (void)setParentController:(UIViewController*)parent{
[self setValue:parent forKey:@"_parentViewController"];
}
它不会导致链接器出现问题!
PS:不要使用“setParentViewController”作为方法名称,因为该方法存在于私有API中并且Apple说:
“您的应用程序中包含的非公共 API 是 setParentViewController:。
如果您在源代码中定义了与上述 API 同名的方法,我们建议更改您的方法名称,使其不再与 Apple 的私有 API 冲突,以避免您的应用程序在将来的提交中被标记。
请在下次更新中解决此问题......”
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)