2016-12-01 58 views
-1

具有功能呼叫布爾函數另一類

-(BOOL) hasInternet { 
    Reachability *reach = [Reachability reachabilityWithHostName:@"www.google.com"]; 
    NetworkStatus internetStats = [reach currentReachabilityStatus]; 
    if (internetStats == NotReachable) { 
     return NO; 
    } 
    return YES; 
} 

要在B級與如果調用.... else條件 新來的Objective-C。

+0

[classBRef hasInternet] –

回答

3

如果我有足夠的代表評論,我只會留下一個,但因爲我沒有,我會留下這個答案。

在你的頭文件中,你需要聲明這個函數以便其他類可見,然後就像Teja Nandamuri說的那樣,你會用[classB hasInternet]來調用它,但是你需要確保你首先創建了classB對象。

如果您希望能夠在不必創建對象的情況下調用該方法,請使用+符號而不是-

例子:

// SomeClass.h 
@interface SomeClass: NSObject 

+ (BOOL) hasInternet; 

@end 

// SomeClass.m 
#import "SomeClass.h" 

@implementation SomeClass 
-(BOOL) hasInternet { 
    Reachability *reach = [Reachability reachabilityWithHostName:@"www.google.com"]; 
    NetworkStatus internetStats = [reach currentReachabilityStatus]; 
    if (internetStats == NotReachable) { 
     return NO; 
    } 
    return YES; 
} 
@end 

在這種情況下,你會調用該方法只是通過做BOOL internet = [SomeClass hasInternet];,如果在頭文件中的方法聲明具有-你需要做這樣的事情:

SomeClass *classB = [[SomeClass alloc] init]; 
BOOL internet = [classB hasInternet]; 
+0

太棒了!謝謝@ tww0003 –