美文网首页
iOS基础笔记(三)

iOS基础笔记(三)

作者: 锤子一号 | 来源:发表于2016-04-13 23:10 被阅读0次

    Protocol一般使用在哪些场景呢?Objective-C里的Protocol和Java语言中的接口很类似,如果一些类之间没有继承关系,但是又具备某些相同的行为,则可以使用Protocol来描述它们的关系。不同的类,可以遵守同一个Protocol,在不同的场景下注入不同的实例,实现不同的功能。其中最常用的就是委托代理模式,Cocoa框架中大量采用了这种模式实现数据和UI的分离。例如UIView产生的所有事件,都是通过委托的方式交给Controller完成。根据约定,框架中后缀为Delegate的都是Protocol,例如UIApplicationDelegate,UIWebViewDelegate等,使用时大家可以留意一下,体会其用法。

    使用Protocol时还需要注意的是:

    1、Protocol本身是可以继承的,比如:

    @protocol A

    -(void)methodA;

    @end

    @protocol B

    -(void)methodB;

    @end

    如果你要实现B,那么methodA和methodB都需要实现。

    2、Protocol是类无关的,任何类都可以实现定义好的Protocol。如果我们想知道某个类是否实现了某个Protocol,还可以使用conformsToProtocol进行判断,如下:

    [obj conformsToProtocol:@protocol(ProcessDataDelegate)]

    相关文章

      网友评论

          本文标题:iOS基础笔记(三)

          本文链接:https://www.haomeiwen.com/subject/khlglttx.html