假设我有一个View Controller和一个Model类; ViewController
和Model
在Model
我的方法如下:
[object setDelegate:self]
相反,我希望ViewController充当委托。我将如何以及在哪里这样做?
我应该在模型的alloc
方法中init
和- init
我的ViewController:
ViewController *newVc = [[ViewController alloc] init];
[self setVc:newVc]; // retains newVc
[newVc release];
然后做:
[object setDelegate:[self vc]];
请注意一下。
答案 0 :(得分:0)
你可以这样做,但是如果 object 是你的模型你可能有循环引用的问题,你有模型保留viewController和viewController保留你的模型,也不会到那里调用dealloc方法释放另一个。我会查看使用通知,您的视图控制器可以直接连接到您的模型,但您的模型可以向任何关心的人广播更改,您查看控制器然后可以观察您模型的通知。我通常认为我的模型代码应该能够在任何界面上运行,即使是作为命令行程序。