模块拆分(三)

2020-04-23  本文已影响0人  S_Lyu

第三步:使用bundle

1.在CommonMacros.h宏定义快捷方式

快捷取出指定bundle

image.png

2.使用

  • 使用xib时如下:


    image.png
  • 使用图片时如下:


    image.png

3.方法糖(避坑)

  • 这里为UINib扩充了+ (UINib *)xh_nibWithNibName:(NSString *)name方法,用来从全局bundle中寻找指定nib
    注:这里涉及到长度为"bundle数量"(目前为5)的循环,为避免性能问题,尽量精准的从bundle中取出对应nib
    image.png
  • 这里为UIImage扩充了+ (UIImage *)imageNamedFromAutomaticBundle:(NSString *)name方法,用来从全局全局bundle中寻找指定图片(自动确定2x/3x)
    注:同上(这里涉及到长度为"bundle数量"(目前为5)的循环,为避免性能问题,尽量精准的从bundle中取出对应image)
    image.png
  • 这里为UIView扩充了+ (instancetype)XH_loadViewFromXib方法,用来从全局bundle中寻找指定xib
    注:同上(这里涉及到长度为"bundle数量"(目前为5)的循环,为避免性能问题,尽量精准的从bundle中取出对应nib)
    image.png
  • 这里重写了XHBaseViewController的构造函数- (instancetype)init用来在初始化前,从全局bundle中寻找自身名字匹配的控制器

注:同上(这里涉及到长度为"bundle数量"(目前为5)的循环,为避免性能问题,尽量精准的从bundle中取出对应nib)

image.png
  • 糖的用法:


    image.png
上一篇 下一篇

猜你喜欢

热点阅读