Objective-C函数和Objective-C方法有什么区别?

时间:2011-11-02 15:08:38

标签: objective-c

我正在阅读Big Nerd Ranch的“Objective-C Programming”一书,并且不确定这种区别。

上下文:NSLog()是一个Objective-C函数(不是方法!),它的工作方式与printf()非常相似。但是,在NSLog()中,格式字符串实际上是NSString的一个实例。

4 个答案:

答案 0 :(得分:7)

方法只是一个被定义为的一部分的函数。普通函数(例如NSLogprintf)不属于类。

答案 1 :(得分:2)

没有“Objective-C功能”这样的东西。 NSLog是一个函数,与库中的任何其他标准函数一样,它恰好采用了Objective-C对象,但它们只是指针,所以它们可以很好地与C代码交互。 NSLog没有什么“特别”。

另一方面,方法是Objective-C类的一部分。

答案 2 :(得分:1)

方法属于类&对象,并通过消息传递调用。函数不会附加到特定的类或对象,并且与C中的函数完全相同。

答案 3 :(得分:1)

Obj-C中的函数不是作用于特定类的,而是将方法限定为类。