2016-01-29 91 views
2

我的代碼看起來像如何在c中聲明和定義objective-c中的函數?

- int add_two_numbers:(int)number1 secondnumber:(int)number2; 

int main() 
{ 
    return 0; 
} 

- int add_two_numbers:(int)number1 secondnumber:(int)number2 
{ 
    return number1 + number2; 
} 

我有錯誤說「缺少方法聲明中,」和「預期的方法體」。我正在關注objective-c上的tutorialpoints上的教程,但它在這個section中非常含糊。看來這些方法必須在某些類中,並且不能像我所做的那樣單獨進行。這是怎麼回事?

+3

該教程正在做這個教你的絕對可怕的工作。 ObjC中存在的函數明顯不同於方法;他們在更深層次上有關係,但不是同一件事。 「基本上在Objective-C中,我們稱這個函數爲方法」是無稽之談。我會建議找到另一種資源來學習。看看[用於學習ObjC的好資源](http://stackoverflow.com/q/1374660) –

+1

你可以直接從目標c調用c的函數。 –

+1

你可以做一個普通的C函數:'int add_two_numbers(int number1,int number2)' – rmaddy

回答

3

像第二種方法只能在類中生活。無論何時需要獨立功能,都可以使用C獨立語法。

而且,你的語法是微客 - 在一個類中,你會聲明它是這樣的:

- (int)add_two_numbers:(int)number1 secondnumber:(int)number2 
{ 
    return number1 + number2; 
} 

在括號中的返回類型。

+2

除了你不應該使用'_',它應該是駱駝套。即 - (NSInteger)addNumberOne:(NSInteger)numberOne toSecondNumber:(NSInteger)numberTwo;'等等。 – bbum