2012-02-05 26 views
1

我有一個函數返回「id」。這是否包括無效回報? (如在什麼情況下)還是「ID」需要某種對象/變量?在Objective-C中使用「id」?

+1

可能重複:http://stackoverflow.com/questions/7987060/objective-c-the-meaning-of-id – mk12 2012-02-05 04:13:04

+0

@ MK12不是真的。我不是在問我正在詢問關於它的具體使用類型的標識。 – fdh 2012-02-05 04:34:53

+0

你在問是否'id'也可以被認爲是'void',根據定義它不能。順便說一下,通過閱讀在返回類型爲「id」的方法中不返回任何內容時顯示的警告,您可以非常容易地爲您自己測試。 – mk12 2012-02-05 04:39:38

回答

4

在Objective-C,id是表示無類型對象指針的關鍵字。它有點像void *,無類型指針,但它增加了指針必須指向某種Objective-C對象的限制。

+0

謝謝,這有幫助。 – fdh 2012-02-05 04:37:57

1

id是可以將多數的對象的通用的數據類型。如果可以的話,你通常會選擇編碼特定的數據類型,但是如果情況(例如方法)可以使用多種數據類型,則使用id

This後#1應有助於解釋它是什麼以及何時使用它。簡單的Google搜索也會提供信息。

1

在Objective C中,id表示object of any type,類似於在C/C++中的void*。你可以從返回id的函數返回nil來表示你不想特別返回任何東西。

1

'id'是一個指向Objective-C類實例的指針。所以你的方法可以返回一個指向實例的指針,或'零'(一個零指針)。