2016-02-05 33 views

回答

1

這和兩種情況下的if(aValue!= nil)是否完全等價?

是的。你只是測試指針是一個非零值。可能是垃圾。可以指向任何隨機對象。沒關係。

0

if(aValue)檢查該值是否爲非零,如在基於C的語言中0對應於false,並且非零對應於true

if(aValue != nil)檢查值是否不同nil,nil定義爲(id)0

因此,兩種情況都將aValue與零比較。

0

含義來自C語言,Objective-C是一個超集。在C中,if語句實際上並不測試布爾值true/false,而是表達式是否爲非零值。

因此,當在if表達是「則」分支被選擇,如果該指針值是非零的任何指針類型和else分支的,當它是0(又名nil)。所以:

這是完全等價,如果(安勤=零!)在這兩種情況下?

是的。