我剛發現一個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我懷疑(應該知道)會返回一個值,但是我試圖做的一點是目標類中沒有邏輯會被執行。 –
謝謝我需要確認。 –