1

我已经读过在 ObjC 中允许向 nil 发送消息,并且我理解这是该语言的一部分,并且对此存在争议,赞成和反对。我不想就此展开任何讨论。

我只是想知道是否有一种方法if (presumedInstance != nil)可以在尝试向 nil 发送消息时出错,而不必总是进行测试?在编码时我没有得到错误并没有帮助我 - 使得更难确定代码缺陷在哪里等等。

也许是 XCode 中的设置或脚本?

4

2 回答 2

2

不,没有办法做到这一点。事实上,它是 Objective-C 的一个非常重要的特性。实际上,我认为对您来说进行测试(if (object),与 相同if (object != nil))更重要,因为它迫使您考虑函数和方法的输入和输出,以及应用程序经过的代码路径。一开始可能会令人沮丧,但这是你习惯的事情之一,它让生活变得更轻松。

于 2012-04-15T01:48:44.787 回答
0

尝试断言怎么样,比如 with NSAssert

NSAssert如果给定条件为假,则生成断言。

用法 : NSAssert(condition, desc)

参数 :

  • condition:计​​算结果为 YES 或 NO 的表达式。
  • desc一个 NSString 对象,其中包含描述失败条件的错误消息。

参考 :

于 2012-04-15T01:24:39.197 回答