代理模式转block

作者: JoyceZhao | 来源:发表于2016-01-24 14:54 被阅读162次
  • 实现思路
    • 将通过代理实现定位的方法封装到工具类中,外界通过接口调用定位的方法.
  • 实现步骤
    • 创建继承自NSObject的定位工具类
      • 声明block代码块
      • 定义回调代码块的属性
      • 创建位置管理者对象、请求前后台定位、设置代理
      • 自定义进行定位的对象方法:开启定位服务;纪录block代码块
      • 实现代理方法didUpdateLocations:获取位置对象并执行block代码块
      • 定义创建单例的宏,提供创建单例的方法
    • 调用工具类实现定位
      • 创建单例对象
      • 调用工具类中实现定位的方法
  • 问题与解决方案
    • 自定义有返回值的定位的类方法
      • 不能有返回值,因为外界在调用的时候,因为网络的原因不能立马拿到参数,所以只能定义没有返回值的方法
      • 不能用类方法,因为位置管理者通过代理返回定位信息,而代理不能是类只能是id类型的对象,所以只能定义对象方法
      • block的声明、定义、调用
    • 先记录block代码块,然后在适合的地方执行,适合的地方就是哪里能获取到block中的参数,就在哪里执行block代码块

相关文章

  • 代理模式转block

    实现思路将通过代理实现定位的方法封装到工具类中,外界通过接口调用定位的方法. 实现步骤创建继承自NSObject的...

  • iOS SEL的理解与使用

    有很多人,认为block的推广可取代代理设计模式,其实block并不能取代代理,代理的模式可以让代码逻辑性更强,更...

  • 问题:block和代理的区别,哪个更好?

    block和代理本质上是不同的,因为block其实是一个对象,代理是一种设计模式(委托-代理模式)。这里主要是把b...

  • iOS中比较实用的第三方

    BlocksKit 使用block简化代理模式UITableView-FDTemplateLayoutCell...

  • 常用的第三方库

    BlocksKit使用block简化代理模式 UITableView-FDTemplateLayoutCell动态...

  • 框架搜集

    intuit/LocationManager 将代理转block https://github.com/intu...

  • 代理转BLOCK(定位)

    使用定位作为案例 1.定义一个返回位置信息的Block,添加获取位置的方法getLoc,使用该Block作为参数。...

  • iOS常用设计模式

    代理模式:完成委托方的任务,需要声明代理对象和指定代理,相对于block,在需要传递参数的传值时优先考虑代理。代理...

  • Block 跳转页面A->B->C C->

    1,首先定义代理(定义block)。 2触发代理()触发block, 3,执行代理的对象(执行block的对象) ...

  • [iOS] 信息交互方式

    代理 通知 Block 一种基于ResponderChain的对象交互方式 对象间交互模式

网友评论

    本文标题:代理模式转block

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