长期以来,我一直在与代表作斗争。出于某种原因,这对我来说是一个非常困难的概念。我觉得现在我有了更多的知识,但我还远没有自信。
请告诉我这些是否不正确/不完整以及原因。谢谢你。
委托实现协议(未实现的方法头)
对象(委托者)可以注册委托(实现协议)。这可以通过声明一个实现协议的 id 类型的属性来完成:
@property (weak, nonatomic) id <MyProtocol> myDelegate;
委托人可以在委托上调用某些方法(在 MyProtocol 协议中指定)
任何实现协议并且必须是 Delegator 的委托的类都可以这样声明自己:
MyDelegator* myDelegator = segue.destinationViewController; myDelegator .delegate = self;
使用委托的优点:
一种。减少耦合(Delegate 和 Delegator 不再相互依赖),这是一个重要的 OO 设计原则
湾。使 Delegator 更通用;它现在可以与其他对象一起使用,而不仅仅是这个 Delegate