在另一个类中调用布尔函数

时间:2016-12-01 19:39:20

标签: objective-c

在A班有功能。

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

想要使用If .... else条件调用B类 Objective-C的新手。

1 个答案:

答案 0 :(得分: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];