iOS 在View中直接用所在的ViewController对象
程序员文章站
2022-07-14 09:32:19
...
在平时的开发中经常会遇到在自定义的某个View中要使用ViewController对象做一些跳转处理,通常会采用Delegate 或者 block 。现在总结一个新的方法,利用事件响应链原理来获得当前View所在的ViewController。
#import <UIKit/UIKit.h>
@interface UIView (ViewController)
- (UIViewController *)viewController;
@end
#import "UIView+ViewController.h"
@implementation UIView (ViewController)
- (UIViewController *)viewController
{
UIResponder *next = [self nextResponder];
do {
if ([next isKindOfClass:[UIViewController class]]) {
return (UIViewController *)next;
}
next = [next nextResponder];
} while (next != nil);
return nil;
}
@end
上一篇: 静态方法中直接使用注入的bean对象
下一篇: Java中直接输出一个类的对象