2009-08-19 34 views
4

所以有NULL,一般用於指針,nil,用於對象指針。'Nil'在Obj-C中代表什麼?

現在我看到還有Nil,它被較低級別的Obj-C運行時功能使用,如class_getProperty

這與哲學上的nil不同嗎? (是的,我知道他們都是0)

爲什麼它甚至被引入?或者,如果Nil是第一個(很可能),爲什麼要引入nil

+0

完全重複,但在從http://stackoverflow.com/questions/836601 – balexandre 2009-08-19 12:53:12

+4

不同的詞實際上是相當不同的。 – 2009-08-19 12:55:59

+0

我同意,這不是該問題的重複。 [NSNull null]返回一個對象,其中nil/Nil/NULL都是各種形式的0. – 2009-08-19 16:04:41

回答

7

谷歌搜索「無VS無」發現這個職位http://numbergrinder.com/node/49,其中規定:

所有這三個值代表 零或零指針值。區別在於儘管NULL 對於任何指針表示零,但零對特定於對象(例如,id)和 的Nil特定於類指針。它 應該被認爲是最好的做法各種各樣的使用權null對象 在 文檔目的的權利情況的 ,即使 沒有什麼從 停止有人混合和匹配,因爲他們走。

+0

是的,我已經看過那個頁面,但我不相信它只是用於Class指針。現在看過後,看起來確實是這樣:) – 2009-08-19 13:02:31

+0

什麼是類對象和obj c對象,我可以使用nil,Nil – 2015-05-25 06:44:32

相關問題