我刚发现一个bug。追踪错误,我发现当A(因此B)为零时违反了这个规定。如果A == B,这是否意味着[A isEqual:B]是真的?
我只是想确保我不会在这里丢失任何东西。
问题的答案是否为真,或者我是否找到异常?
我刚发现一个bug。追踪错误,我发现当A(因此B)为零时违反了这个规定。如果A == B,这是否意味着[A isEqual:B]是真的?
我只是想确保我不会在这里丢失任何东西。
问题的答案是否为真,或者我是否找到异常?
发送到nil
的消息的返回码将始终为0,这相当于NO
或false。所以你观察到的行为是可以预料的并且是正确的,即使它看起来不太直观。不同的nil
对象不正确,因为nil
没有真正的身份。
在Objective-c中,当A为零时,您可以发送消息给一个无对象,即[A isEqual:B]。但是你不能指望一个零对象返回结果!我还没有找到苹果ref,但我怀疑返回值是undefined或设置为nil/false/0本身。
为什么要投票? –
发送消息给'nil'可以返回一个值,并在这里记录:https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ObjectiveC/Chapters/ocObjectsClasses.html#//apple_ref/DOC/UID/TP30001163-CH11-SW7。 (虽然我没有downvote) –
@MartinR我怀疑(应该知道)会返回一个值,但是我试图做的一点是目标类中没有逻辑会被执行。 –
谢谢我需要确认。 –