Apple授权代表团状态:
在Swift和Objective-C委托中, 通常表达 定义交互和符合代表的协议 属性
我不确定是否有任何其他方法来创建不“必须”涉及协议的代理。是否存在另一种在Swift或Objective-C中表示不涉及协议的委托方式?
答案 0 :(得分:1)
代理人不必遵守协议。您可以编写实现代码,但这是不好的做法。
我认为苹果说这是通常的事情。您不必使用协议......但如果您想保持灵活性,则应该这样做。
代表团实质上是在请求其他人为您做点什么。如果你强制执行合同,那么他们更有可能为你做这件事。
答案 1 :(得分:0)
我完全同意以上答案,协议保证了两个对象之间的契约。如果没有协议,则无法确保以委托方式实现委托方法。
即使使用类而不是协议,也可能存在有关多重继承的问题,并且实现起来会很困难。这也导致对象之间的紧密耦合,并且内存管理变得困难。
但是,在我看来,您可以通过这种方式在没有协议的情况下实现委托: