许多Cocoa类提供设置委托。现在我的相当简单的问题是:在这种情况下我是否必须设置委托,还是设置委托是可选的?
例如,我使用NSSharingService
它带有一个delegate
属性,如果我设置一个,我可以在这个委托上实现 NSSharingServiceDelegate Protocol 。
如果我对调用此协议中的任何方法不感兴趣,是否仍需设置委托并实现这些方法(作为空方法)?
或者是否可以选择不设置代理?
答案 0 :(得分:1)
设置委托并不总是必须的,但是如果你设置了委托,那么它必须实现委托协议中声明的@required
方法。
话虽如此,如果您想构建一个高质量,强大的应用程序,大多数时候设置代表是正确的做法。
在NSSharingService
代表的特定情况下,我认为您应该至少对sharingService:didShareItems:
和sharingService:didFailToShareItems:error:
感兴趣,至少是为了记录这些事件。但是,您很可能也希望在共享内容时向用户提供某种反馈,以改善用户体验。