我正在阅读Big Nerd Ranch的“Objective-C Programming”一书,并且不确定这种区别。
上下文:NSLog()是一个Objective-C函数(不是方法!),它的工作方式与printf()非常相似。但是,在NSLog()中,格式字符串实际上是NSString的一个实例。
答案 0 :(得分:7)
方法只是一个被定义为类的一部分的函数。普通函数(例如NSLog
或printf
)不属于类。
答案 1 :(得分:2)
没有“Objective-C功能”这样的东西。 NSLog是一个函数,与库中的任何其他标准函数一样,它恰好采用了Objective-C对象,但它们只是指针,所以它们可以很好地与C代码交互。 NSLog没有什么“特别”。
另一方面,方法是Objective-C类的一部分。
答案 2 :(得分:1)
方法属于类&对象,并通过消息传递调用。函数不会附加到特定的类或对象,并且与C中的函数完全相同。
答案 3 :(得分:1)
Obj-C中的函数不是作用于特定类的,而是将方法限定为类。