2016-01-29 123 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