在做Objective-c时,我是否必须编写如下函数:
- (int) someFunction: (int) a someParam: (int) b;
Run Code Online (Sandbox Code Playgroud)
或者我可以使用常规C风格:
void someFunction(int a, int b);
Run Code Online (Sandbox Code Playgroud)
如果我可以做C风格,那么在Objective-C风格中做这个有什么好处吗?
如果您愿意,可以使用常规C函数,因为Objective-C只是C的超集.
如果要使用Objective-C功能(如类,消息,继承等),则需要使用Objective-C语法...当然还要使用Cocoa/CocoaTouch SDK.
您可以在文件中混合使用Objective-C和C代码,并使用Objective-C方法调用纯C函数.您还可以通过直接访问Objective-C运行时层(例如,使用该objc_msgSend函数)从纯C函数调用Objective-C方法.
那不是Objective-C函数,它是一种方法.它可以访问实例的变量和其他方法.这两者并不相同.在大多数情况下,您应该使用Objective-C方法.为什么要使用C函数?你想做什么?