如何将参数发送到我的函数?
- (void)alertURL {
NSLog(@"%@",url);
}
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
alertURL(url);
return YES;
}
如果还有其他错误,请告诉我:)
答案 0 :(得分:4)
定义你所谓的函数的正确方法是Obj-C talk中的一个方法,就是在括号和参数变量名中添加一个冒号和类型。
然后要调用该方法,请使用方括号。
- (void)alertURL:(NSURL *)url {
NSLog(@"%@",url);
}
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
// Old C function: alertURL(url);
[self alertURL:url];
return YES;
}
仍然支持函数,它们只是常规的C函数,这意味着它们与任何对象都没有关联。您要做的是使用方括号向对象发送消息。这是一个Obj-C的东西,你会习惯的。
答案 1 :(得分:4)
首先,这不是一个函数,即实例方法。实例方法可以带参数:
- (void)alertURL:(NSURL *)url {
NSLog(@"%@",url);
}
或者,如果您想添加多个:
- (void)alertURL:(NSURL *)url ensureSecure: (BOOL) aFlag
{
NSLog(@"%@",url);
if (aFlag) { ... secure stuff ... }
}
其次,您不使用函数调用语法调用方法,您可以通过方法调用语法调用它:
[self alertURL: anURL];
[self alertURL: anURL ensureSecure: YES];
最后,问题表明你还没有理解Objective-C。不用担心 - 我们曾经都在那里。 Apple提供了出色的introduction to Objective-C。
答案 2 :(得分:0)
就像你在C中所做的那样。
void alertURL(NSURL* url) {
NSLog(@"%@",url);
}