pikacode/EBBannerView

提几点优化建议

karosLi opened this issue · 3 comments

1、点击推送栏回调不友好(应该返回userinfo,由外部自己处理),不然通过 NSNotification 里拿到的只是 content,一点用也没有,谁也不会拿着 content 去做跳转的。那我也不想在弹出推送栏之前先使用成员变量把跳转进行保存,因为很有可能被后面来的推送给覆盖掉。
2、应该要支持下,当多个推送来时要怎么处理,是pendding住后面的推送还是忽略后面的推送。
3、既然iOS 10已经支持了,如果可以话可以把iOS10的部分封装到你的框架内部,这点你可以自己考虑是否合适,可能封装的工作量会增大很多。

1、又看了下代码,发现是有设置 userinfo的地方,只是不太容易发现。

EBBannerView *view = [EBBannerView bannerWithBlock:^(EBBannerViewMaker *make) {
            make.content = message;
            make.object = userInfo;
  }];
  [view show];

NSString *const EBBannerViewDidClickNotification = @"EBBannerViewDidClickNotification";

这里也没有相关注释,只能是让用的人去猜,里面的内容是什么。

  • 当多个推送来时要怎么处理,是pendding住后面的推送还是忽略后面的推送。
    正是因为处理方式不同,你可以按照自己的产品需求来处理的。
  • 最初那个库的做法就是和推送整合到一起,后来发现要处理很多东西,对稳定性也有影响。重写了这个库就是想做一个纯粹的UI组件,非常容易使用。不用跟推送结合起来。比如你内部的 IM,系统的消息等等各种内容,都可以通过这个库非常快速的展示近似原生的UI。