如何调用Objective C函数?

use*_*396 9 objective-c

如何调用Objective C中的函数?例如:

我在头文件(.h文件)中定义函数:

-(void)abc
Run Code Online (Sandbox Code Playgroud)

并在实现文件(.m文件)中实现此功能:

-(void)abc
{
//.....
///....
}
Run Code Online (Sandbox Code Playgroud)

现在我如何从我需要的地方调用此函数?

Mon*_*ong 20

要在同一个类中调用此方法,您可以调用:

[self abc];
Run Code Online (Sandbox Code Playgroud)

要从另一个类调用,假设您有一个对该类的实例的引用,您将调用:

[instance abc];
Run Code Online (Sandbox Code Playgroud)

如果方法中有参数,则对于第一个参数,您将其声明为(假设它是一个字符串):

- (void) abc : (NSString *)param1;
Run Code Online (Sandbox Code Playgroud)

称之为:

[self abc:@"Yoop"];
Run Code Online (Sandbox Code Playgroud)

必须为所有以下参数指定名称.因此,例如,如果有两个参数,您将其声明为:

- (void) abc : (NSString *)param1 paramName2:(NSString *)param2;
Run Code Online (Sandbox Code Playgroud)

这将被称为:

[self abc:@"Yoop" paramName2:@"Woop"];
Run Code Online (Sandbox Code Playgroud)

它确实需要一点点习惯开始,但有疯狂的方法!在Objective-C术语中,您实际上并没有调用该方法,而是传递了一条消息.这是一篇描述差异的好博客文章:Cocoa with Love

我在这里讨论:方括号(调用方法)是什么


Mar*_*tos 2

这是某个类的方法。如果该类名为 Foo,则可能是这样的:

Foo* foo = [[Foo alloc] init];
[foo abc];
Run Code Online (Sandbox Code Playgroud)