模块拆分(三)

第三步:使用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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容