【问题标题】:Objective-C delegate coding practicesObjective-C 委托编码实践
【发布时间】:2010-07-07 04:35:11
【问题描述】:

我有一些涉及委托的编码实践,但我不确定。首先,如果委托协议没有可选方法(都是必需的),是否推荐使用respondsToSelector: 来检查委托对象是否实现了该方法?其次,在调用方法之前,我是否需要检查委托是否不是nil?在我的简短实验中,在 nil 对象上调用方法没有任何作用,但这里推荐的做法是什么?

谢谢

【问题讨论】:

    标签: objective-c delegates protocols


    【解决方案1】:

    首先,如果一个委托协议 没有可选方法(所有 必需),是否推荐 练习使用 respondsToSelector: 来 检查委托对象是否 实现那个方法?

    如果需要,则不应检查它。这是必需的,对吗?对于可选方法,您一定要检查。

    其次,我是否需要检查委托之前是否不为零 调用它的方法?在我的简介中 实验,在 nil 上调用方法 对象什么都不做,但是什么 这里是推荐的做法吗?

    是的,您的观察是正确的。向 nil 发送消息是无害的。至于最佳实践,如果委托为 nil,则代码的调用者对您提供的任何委托方法都不感兴趣,因此无需在那里进行任何额外的检查。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-12
      • 1970-01-01
      • 1970-01-01
      • 2023-03-05
      • 1970-01-01
      相关资源
      最近更新 更多