V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
mmoaay
V2EX  ›  问与答

iOS block 同时响应多个请求的问题

  •  
  •   mmoaay · 2015-02-02 15:02:48 +08:00 · 3734 次点击
    这是一个创建于 3370 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我把高德地图的 delegate 方式的回调封装成了 block 方式,但是碰到一个问题,因为完成的 block 我是通过 request 方法传进来的,而 delegate 回调方法是另一个,所以要在 delegate 回调方法中使用传入的 block,我只能把 block 用一个成员变量保存起来,回调的时候通过这个成员变量block出去,这样导致的问题就是我同时发起多个请求只会有一个返回。大家有什么方案帮我解决这个问题么?求救
    5 条回复    2015-02-03 08:08:35 +08:00
    mmoaay
        1
    mmoaay  
    OP
       2015-02-02 16:54:03 +08:00
    …今天大家都不在啊…
    soulgain
        2
    soulgain  
       2015-02-02 17:18:40 +08:00   ❤️ 1
    存一个block的set咯,在SDK的delegate里调用这些blocks。
    不过楼主想清楚这是你想要的效果吗?
    mmoaay
        3
    mmoaay  
    OP
       2015-02-02 22:59:16 +08:00 via iPhone
    @soulgain 我想过这个,不过觉得数组实现block之间就有耦合了,觉得不太完美
    mmoaay
        4
    mmoaay  
    OP
       2015-02-03 08:07:26 +08:00 via iPhone
    因为高德地图的request在delegate回调的时候有返回的,所以我的想法是把block用runtime机制加到request上传过去,这样合适么?
    mmoaay
        5
    mmoaay  
    OP
       2015-02-03 08:08:35 +08:00 via iPhone
    或者是继承每个request,在里面加block,但是高德的request很多,继承有点麻烦
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3564 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 11:03 · PVG 19:03 · LAX 04:03 · JFK 07:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.