2013-07-18 34 views
0

我剛剛遇到這樣的代碼行,其中一個方法正在被實例化而不使用+或 - 。能否請您解釋一下代碼:這是什麼類型的方法聲明?

void *ABCD(NSString *xyz) 
+11

Aww。這是一個C函數。你知道什麼是可怕的嗎?甚至沒有認識到基本的C語言結構的人正試圖編寫iOS應用程序。這很可怕。我建議你退後一步,幫你一個忙,在嘗試繼續iOS開發之前學習C語言。不要一次做多,只需小步學習。 [從這裏開始](http://stackoverflow.com/questions/562303/the-definitive-c-book-guide-and-list),你不會後悔的。 – 2013-07-18 06:44:12

+2

您可能有興趣購買和閱讀[Bill Dudney提供的所有C ](https://itunes.apple.com/us/book/all-the-c-you-need-to-know/id581989356?MT = 11)。只有iPad。面向Objective-C開發人員編寫。 –

回答

6

這是一個C函數,類型

return_type method_name (argument_list) 

你的函數返回一個void *,通用指針,並且需要一個NSString arguement的。

+0

C中的NSString?錯字? – Spectravideo328

+3

@ Spectravideo328 Nah。它是Objective-C。 C是Objective-C的子集,因此您可以在Objective-C代碼中使用C函數。 (畢竟,這是運行時所做的,當它愚弄你使用漂亮的方法和所有OO的東西。) – 2013-07-18 07:18:08

+0

是的,我得到了那部分。它只是讓我在C函數的參數列表中看到一個客觀的C類型! – Spectravideo328

0

最後用分號表示,它是一個C函數聲明。如果您按照spiral rule for C declarations

什麼是ABCDABCD是一個函數,它將指針指向NSString並返回指向void的指針。 (即指向任何數據類型的元素的指針)。

瞭解螺旋法則很有用,因爲C函數聲明可能非常複雜。

相關問題