我有3个viewController类,A,B和C.
从A类开始,我推送并呈现B类,然后从B类推送并呈现C类。所有类都定义了委托协议,所以
现在我在C类中,但我需要从A类运行一个方法。
调用该方法的最佳方法是什么?我的意思是最好的做法。
我可以想象在B
上声明这一点- (BOOL) myMethodOnA {
// this method on B will run the method on A and return it to C
return [delegate myMethodOnA];
}
但这听起来像是一个糟糕的解决方案。
有什么建议吗?
感谢。
答案 0 :(得分:1)
取决于您想要在A级上运行的内容。
一个简单的选择是观察A类中的通知并发布C类通知
答案 1 :(得分:1)
我可能会错过一些明显但不应该起作用的东西吗?
[c.delegate.delegate myMethodOnA]
也养成使用访问者的习惯(确保你没有代理人的所有权)。 ARC使这更好。