模块拆分(三)
2020-04-23 本文已影响0人
S_Lyu
第三步:使用bundle
1.在CommonMacros.h宏定义快捷方式
快捷取出指定bundle

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