zoukankan      html  css  js  c++  java
  • [置顶] Objective-C ,ios,iphone开发基础:protocol 协议(委托,代理)的声明

    协议是为了弥补Objective-c中类只能单继承的缺陷,在Objective-c2.0之前当一个类遵循一个协议的时候,必须在类中实现协议的所有方法,在Objective-c2.0之后协议中的方法就有关键字来区别那些方法是必须实现的,那些方法不是必须实现的,默认是不必须实现的@optional 修饰的方法是不必须实现的,@required修饰的方法必须实现,

    一般用的比较多的代理委托有UITextFieldDelegate,UITableViewDataSource,UITableViewDelegate等,

    而我根据自己的经验目前觉得使用自定义委托用的最多的时候就是网络请求数据的时候,把网络接口的方法放在委托当中,让接口类遵循这个委托,这样就实现了较好地封装性。

    声明协议可以单独放在一个文件中也可以和其他类放在同一个文件中。

    @protocol DisastersHttpDelegate <NSObject>


    @optional


    //根据灾情id获取需求列表。

    -(void)didGetDemandsListByDisasterId:(NSArray*)disasterIdArray;

    //获取需求类别

    -(void)didGetDemandCategories:(NSArray*)demandCategoryArray;


    @end


  • 相关阅读:
    Java 流(Stream)、文件(File)和IO
    Java集合笔记
    希尔排序
    多线程
    查找算法
    快速排序
    leetcode题解58
    9.回文数
    SonarQube代码质量管理平台安装及使用
    用GitBlit 和 VS GitSourceControlProvider 搭建基于 Http(s) 的 Git 工作平台
  • 原文地址:https://www.cnblogs.com/fuhaots2009/p/3433182.html
Copyright © 2011-2022 走看看