1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- //
- // UIViewController+Category.m
- // 乐销
- //
- // Created by 隋林栋 on 2017/10/9.
- // Copyright © 2017年 ping. All rights reserved.
- //
- #import "UIViewController+Category.h"
- static const char key_blockBack_UIViewController = '\0';
- static const char key_blockWillBack_UIViewController = '\0';
- static const char key_requestState_UIViewController = '\0';
- @implementation UIViewController (Category)
- #pragma mark property
- - (void)setRequestState:(int)requestState{
- objc_setAssociatedObject(self, &key_requestState_UIViewController, [NSNumber numberWithInteger:requestState], OBJC_ASSOCIATION_RETAIN_NONATOMIC);
- }
- - (int)requestState{
- NSNumber * num = objc_getAssociatedObject(self, &key_requestState_UIViewController);
- if (num && [num isKindOfClass:NSNumber.class]) {
- return [num intValue];
- }
- return 0;
- }
- -(void)setBlockBack:(void (^)(UIViewController *))blockBack{
- objc_setAssociatedObject(self, &key_blockBack_UIViewController, blockBack, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
- }
- - (void (^)(UIViewController *))blockBack{
- return objc_getAssociatedObject(self, &key_blockBack_UIViewController);
- }
- - (void)setBlockWillBack:(void (^)(UIViewController *))blockWillBack{
- objc_setAssociatedObject(self, &key_blockWillBack_UIViewController, blockWillBack, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
- }
- - (void (^)(UIViewController *))blockWillBack{
- return objc_getAssociatedObject(self, &key_blockWillBack_UIViewController);
- }
- #pragma mark method
- /**
- remove all child vc
- */
- - (void)removeAllChildVC{
- while (self.childViewControllers.count) {
- UIViewController * childVC = self.childViewControllers.lastObject;
- [childVC.view removeFromSuperview];
- [childVC removeFromParentViewController];
- }
- }
- @end
|