如何向我的功能發送參數?Obj-C功能參數
- (void)alertURL {
NSLog(@"%@",url);
}
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
alertURL(url);
return YES;
}
如果有別的錯誤,請告訴我:)
如何向我的功能發送參數?Obj-C功能參數
- (void)alertURL {
NSLog(@"%@",url);
}
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
alertURL(url);
return YES;
}
如果有別的錯誤,請告訴我:)
做什麼正確的方法來定義你所謂的功能,這是Obj-C談話中的一種方法,是在圓括號和參數變量名稱中添加冒號和類型。
然後調用該方法,使用方括號。
- (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的東西,你會習慣它。
完美,謝謝! – tarnfeld 2009-12-31 21:38:00
就像你會在C.
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。不用擔心 - 我們都在那裏一次。蘋果提供了一個很好的introduction to Objective-C。
您應該閱讀蘋果免費的Objective-C簡介:http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ObjectiveC/Introduction/introObjectiveC.html正如@bbum指出的那樣,並不是功能。 Objective-C確實有功能,因此瞭解其差異很重要。 – 2011-12-06 10:59:48