1
A
回答
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
)。所以:
這是完全等價,如果(安勤=零!)在這兩種情況下?
是的。
相關問題
- 1. Android中究竟發生了什麼rom.zip
- 2. Proc :: Background究竟發生了什麼?
- 3. 這是如何工作的?究竟發生了什麼?
- 4. #!perl究竟做了什麼?
- 5. document.normalize究竟做了什麼?
- 6. 「uniquetol」究竟做了什麼?
- 7. EwfSysprepSpecialize究竟做了什麼?
- 8. UserTransactionManager究竟做了什麼
- 9. __block究竟做了什麼?
- 10. offsetLeftAndRight()究竟做了什麼?
- 11. runtime.Gosched究竟做了什麼?
- 12. visibleContentsAsDataURL究竟做了什麼?
- 13. .selectAll()究竟做了什麼?
- 14. mesh.optimize究竟做了什麼?
- 15. rangeOfCharacterFromSet究竟做了什麼?
- 16. has_one究竟做了什麼?
- 17. presentModalViewController究竟做了什麼?
- 18. Ember.MODEL_FACTORY_INJECTIONS究竟做了什麼?
- 19. 「setContentView」究竟做了什麼?
- 20. MIBCC.EXE究竟做了什麼?
- 21. MapView.preLoad()究竟做了什麼?
- 22. rbind.fill.matrix究竟做了什麼?
- 23. KeyListener究竟做了什麼?
- 24. JspFragment.invoke究竟做了什麼?
- 25. HttpApplicationState.Lock究竟做了什麼?
- 26. clEnqueueWriteBuffer究竟做了什麼?
- 27. handleParkingUpdate()究竟做了什麼?
- 28. Panel.IsItemsHost究竟做了什麼?
- 29. 怎麼看的混帳究竟發生了什麼合併
- 30. readerQuotas - > maxStringContentLength究竟是指什麼?