获取视图控制器实例,可以使用其公开的成员变量的值,而不是重新开辟一块内存,与原先的实例并不只想一块内存区域
实例方法
- (RootViewController *)<span style="font-family: Arial, Helvetica, sans-serif;">rootViewController
{
UIResponder *next = self.nextResponder;
do {
if ([next isKindOfClass:[RootViewController class]]) {
return (RootViewController *)next;
}
next = next.nextResponder;
} while (next != nil);
return nil;
}
类方法
+ (RootViewController *)<span style="font-family: Arial, Helvetica, sans-serif;">rootV<span style="font-family: Arial, Helvetica, sans-serif;">iewControllerWithView:(UIView *)view
{
UIResponder *next = view.nextResponder;
do {
if ([next isKindOfClass:[RootViewController class]]) {
return (RootViewController *)next;
}
next = next.nextResponder;
} while (next != nil);
return nil;
}
我个人感觉,类方法用的更好一些,他只用写在你需要的得到的实例的类中调用即可,VIew呢一般就是你的当前视图,而且只用写一次,在一定程度上减少了demo量
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/5187.html