编辑:我从那时起就知道我所做的是非常非常糟糕的设计。不要做我做的事。相反,请考虑阅读MVC works的方法,并制作适当的课程。不要将控制器替换为对象。
我不确定我是否正确地使用我的架构,但我正在做的是在每个视图控制器中声明一个app委托,然后让app为每个视图控制器委派自己的视图控制器委托
每次创建新的视图控制器时,我最终都会向每个视图控制器添加相同的三行,并为应用委托添加另一个视图控制器。有没有更简单的方法来继承(I.E.给所有视图控制器一个appDelegate属性,然后在一些父函数中分配它)。
以下是我目前正在做的事情:
//AppDelegate.h
@interface AppDelegate
@property (strong, nonatomic) MyViewController* myViewDelegate;
@property (strong, nonatomic) MySecondViewController* mySecondViewDelegate;
@end
//MyViewController.m
@interface MyViewController ()
@property (strong,nonatomic) AppDelegate* appDelegate;
@end
@implementation MyViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.appDelegate = (AppDelegate*) [UIApplication sharedApplication].delegate;
self.appDelegate.myViewDelegate = self; //MySecondViewController would use:
//self.appDelegate.mySecondViewDelegate = self;
}
...
所以有两件事: