如何将字符串传递给Objective-C中的函数

nod*_*nja 6 cocoa-touch arguments function objective-c xcode4

我做了这样的方法:

-(void) doSomething:(NSString *)str
{

}
Run Code Online (Sandbox Code Playgroud)

我这样称呼它

doSomething(foo);
Run Code Online (Sandbox Code Playgroud)

它不起作用.

Dan*_*son 16

您在目标c中调用方法的方式如下所示

[class method:parameter];
Run Code Online (Sandbox Code Playgroud)

在你的情况下,要调用doSomething,你会这样做:

[self doSomething:@"foo"];
Run Code Online (Sandbox Code Playgroud)


Geo*_*che 7

那是因为doSomething是Objective-C类的方法.函数调用的C语法在这里不适用,你需要一个实例来调用它,例如:

[instance doSomething:foo];
Run Code Online (Sandbox Code Playgroud)

我强烈建议您阅读Apples Objective-C编程语言.