gpt4 book ai didi

objective-c - 如果一个对象提供设置委托(delegate)对象 - 我是否必须设置一个?

转载 作者:行者123 更新时间:2023-12-03 17:51:10 24 4
gpt4 key购买 nike

许多 Cocoa 类都提供设置委托(delegate)。现在我相当简单的问题是:在这种情况下我是否必须设置委托(delegate),或者是否可以选择设置委托(delegate)?

例如,我使用NSSharingService
它带有一个 delegate 属性,如果我设置一个,我就可以在该委托(delegate)上实现 NSSharingServiceDelegate 协议(protocol)。如果我对此协议(protocol)中要调用的任何方法都不感兴趣,我是否仍然需要设置委托(delegate)并实现这些方法(作为空方法)?
或者可以选择不设置委托(delegate)吗?

最佳答案

并不总是强制设置委托(delegate),但如果您确实设置了委托(delegate),则必须实现委托(delegate)协议(protocol)中声明的 @required 方法。

话虽如此,大多数时候,如果您想构建高质量、健壮的应用程序,设置委托(delegate)是正确的做法。

NSSharingService 委托(delegate)的特定情况下,我认为您至少应该对 sharingService:didShareItems:sharingService:didFailToShareItems:error:< 感兴趣,至少用于记录这些事件。但很可能您还想在分享内容时向用户提供某种反馈,以改善用户体验。

关于objective-c - 如果一个对象提供设置委托(delegate)对象 - 我是否必须设置一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26314704/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com