1.全局变量
定义时,在类的实现文件中(.m文件)私有变量和方法前面。
引用
NetworkStatus netStatus;
在需要用到此变量的类文件中,import之后,声明为extern
extern NetworkStatus netStatus;
2.协议与代理protocol and delegate
类似于Java和C#中的接口,定义了对象必须实现的方法和行为规范
协议定义
@protocol MyProtocol <NSObject> - (void)mustImplMethod; @optional - (void)optionalMethod; @end
协议实现
//实现的协议使用尖括号包起来,实现多个协议时,使用逗号分割
声明:
@interface MyCls : NSObject<MyProtocol> @end
实现:
@implementation MyCls - (void)mustImplMethod { NSLog(@"Must do sth."); } @end
委托使用
声明:
@interface MannageCls : NSObject @property (nonatomic, strong) id<MyProtocol> delegate; @end
实现:
@implementation ManageCls @synthesize delegate - (void)doSth { if (delegate != nil) { [delegate mustImplMethod]; } }