MBy*_*ByD 71
首先,我是Objective-C的初学者,但我可以说出我所知道的.
函数是与对象/类无关的代码块,只是从c继承而来,您可以通过以下方式调用它们:
// declaration
int fooFunction() {
return 0;
}
// call
int a;
a = fooFunction();
Run Code Online (Sandbox Code Playgroud)
虽然方法附加到类/实例(对象),但您必须告诉类/对象执行它们:
// declaration
- (int)fooMethod {
return 0;
}
// call
int a;
a = [someObjectOfThisClass fooMethod];
Run Code Online (Sandbox Code Playgroud)
它甚至更简单; 方法只是一个C函数,前两个参数分别是方法调用的目标和被调用的选择器.
即每个方法调用站点都可以重写为等效的C函数调用,行为完全没有区别.
深入回答这里:为什么[object doSomething]而不是[*object doSomething]? 从显示"回到语言的C预处理器根目录的段落开始,您可以将每个方法调用转换为等效的C行".
归档时间: |
|
查看次数: |
14814 次 |
最近记录: |