objective-c <>协议

objective-c协议为不同的类提供公用的方法

协议定义了一组方法,而不提供具体实现。它定义了其它对象有责任实现的接口。当在自己的类中实现协议的方法时,用户的类就是遵守这个协议的,协议声明的方法可以被任何一个类实现。

通俗易懂地讲

你写了个类,你的这个类提供给我的类使用

我在我的类里初始化了你的类实例,那么好,你的方法我是可以调用的。

但是你的类会在达成某种条件的时候调用一个方法,这个方法你不知道要被谁实现,也无需你实现,你只是探出一个接口。

好吧,我会在按钮按下时调用这个方法,但是要做什么我不管,我也不知道,谁用的谁自己去实现。

那么,在你的类里定义协议

@protocolyourdelegate

-(void)dosomething

@end

定义iddelegate属性

并在你按钮按下的方法里

[delegatedosomething];

我的类里使用你的协议

@interface我的类:NSObject<yourdelegate>

并且在初始化你的类的时候,你的类.delegate=self;

然后实现你的协议方法

-(void)dosomething

{做你想做的事

}

相关推荐