2009-10-08 158 views
0

這是從前一個問題開始的後續實現,在實現中,我有兩個方法,一個在找到特定服務時調用,另一個在消失時調用。這可能是一個愚蠢的問題,但除了NSLog線,它們是相同的,什麼決定哪些被調用?它如何知道調用哪個方法?

// INTERFACE 
@interface ITunesFinder : NSObject <NSNetServiceBrowserDelegate> 
@end 

// IMPLEMENT 
@implementation ITunesFinder 

// ------------------------------------------------------------------- ** 
-(void) netServiceBrowser: (NSNetServiceBrowser *) browser 
      didFindService: (NSNetService *) service 
       moreComing: (BOOL) moreComing { 
    [service resolveWithTimeout:10]; 
    NSLog(@"Service Found: %@", [service name]); 
} 

// ------------------------------------------------------------------- ** 
-(void) netServiceBrowser: (NSNetServiceBrowser *) browser 
     didRemoveService: (NSNetService *) service 
       moreComing: (BOOL) moreComing { 
    [service resolveWithTimeout:10]; 
    NSLog(@"Service Lost!: %@", [service name]); 
} 
@end 

加里

回答

4

他們是不相同的。其中一個參數爲:didFindService,另一個參數爲didRemoveService

+5

它不是一個參數,它是方法名稱的一部分。 – 2009-10-08 21:13:27

+1

啊的確他們這樣做,非常感謝。我想我需要休息一下,我一直在看那30分鐘,並抓我的頭。 – fuzzygoat 2009-10-08 21:13:31

+0

所以基本上我們所擁有的是兩種不同的方法名稱,通過瀏覽器委託ITunesFinder訪問。 – fuzzygoat 2009-10-08 21:19:28

相關問題