【问题标题】:Optional protocol conforming for iOS classes符合 iOS 类的可选协议
【发布时间】:2013-07-30 11:43:35
【问题描述】:

我的 iOS 应用项目中有一个类,它符合这样的特定协议:

@interface MyViewController : UIViewController <aProtocol>

在应用程序中的某个时间,我希望这个特定的类停止遵守这个协议。然后再把它带回来。

obj-c 中有什么方法可以让一个类有一些可选协议吗?这是如何控制的?

【问题讨论】:

  • 你不能停止遵守协议。您可以根据状态从协议返回不同的值,但不能从类中物理删除协议。更好地描述您尝试解决的潜在问题应该会促使我们找到解决方案。

标签: ios objective-c cocoa-touch protocols


【解决方案1】:

您不能从符合标准的类中删除协议,然后再将其恢复。但是您总是可以在设计时借助 @optional@required 关键字来决定协议是可选的还是必需的。如果您正在考虑使用确定的协议方法,您可以尝试委托设计模式。相关的委托对象可能符合所需的协议。并且委托对象可能在需要时使用这个委托。

【讨论】:

    猜你喜欢
    • 2017-11-23
    • 1970-01-01
    • 2020-10-07
    • 1970-01-01
    • 1970-01-01
    • 2014-11-14
    • 1970-01-01
    • 2017-10-03
    • 2019-11-23
    相关资源
    最近更新 更多