Commit 652f0651eb4611f139a9e8d971c126d36ad5abaf
1 parent
b14c0f68
no message
Showing
4 changed files
with
39 additions
and
31 deletions
CNLivePreloadResources/Classes/CNLivePreloadManager.h
| ... | ... | @@ -16,13 +16,14 @@ NS_ASSUME_NONNULL_BEGIN |
| 16 | 16 | * 预加载资源 |
| 17 | 17 | * |
| 18 | 18 | * @param preloadId 加载标识 |
| 19 | - * @param type 资源类型 | |
| 19 | + * @param type 资源类型(目前只支持图片类型CNLiveResourceImage) | |
| 20 | 20 | * @param imageNames 资源名字数组 |
| 21 | 21 | * |
| 22 | 22 | * @return 模型 |
| 23 | 23 | */ |
| 24 | 24 | + (CNLivePreloadModel *)preloadModelForPreloadId:(NSString *)preloadId type:(CNLiveResourceType)type imageNames:(NSArray<NSString *> *)imageNames; |
| 25 | 25 | |
| 26 | + | |
| 26 | 27 | #pragma mark - 针对具体业务 |
| 27 | 28 | /** |
| 28 | 29 | * 预加载全部资源 | ... | ... |
CNLivePreloadResources/Classes/CNLivePreloadManager.m
| ... | ... | @@ -206,36 +206,40 @@ static NSMutableDictionary *resources; |
| 206 | 206 | + (void)asyncLoadResources:(CNLivePreloadModel *)model type:(CNLiveResourceType)type{ |
| 207 | 207 | model.isLoading = YES; |
| 208 | 208 | dispatch_async(dispatch_get_global_queue(0, 0), ^{ |
| 209 | - NSMutableArray<UIImage *> *images = [[NSMutableArray alloc] init]; | |
| 210 | - for (CNLiveResourceModel *resourceModel in model.models) { | |
| 211 | - if (resourceModel.image == nil) { | |
| 212 | - UIImage *image = nil; | |
| 213 | - switch (type) { | |
| 214 | - case CNLiveResourceImage: | |
| 215 | - { | |
| 216 | - image = [CNLivePreloadManager cn_getImageName:resourceModel.name bundle:@"CNLivePreloadResources.bundle/CNLivePreloadResources" targetClass:[CNLivePreloadManager class]]; | |
| 209 | + switch (type) { | |
| 210 | + case CNLiveResourceImage: | |
| 211 | + { | |
| 212 | + NSMutableArray<UIImage *> *images = [[NSMutableArray alloc] init]; | |
| 213 | + for (CNLiveResourceModel *resourceModel in model.models) { | |
| 214 | + if (resourceModel.image == nil) { | |
| 215 | + UIImage *image = [CNLivePreloadManager cn_getImageName:resourceModel.name bundle:@"CNLivePreloadResources.bundle/CNLivePreloadResources" targetClass:[CNLivePreloadManager class]];; | |
| 216 | + if (image == nil) { | |
| 217 | + model.isLoadFailed = YES; | |
| 218 | + } | |
| 219 | + else{ | |
| 220 | + resourceModel.image = image; | |
| 221 | + [images addObject:image]; | |
| 222 | + model.isLoadFailed = NO; | |
| 223 | + } | |
| 217 | 224 | } |
| 218 | - break; | |
| 219 | - | |
| 220 | - case CNLiveResourceGif: | |
| 221 | - { | |
| 222 | - image = [CNLivePreloadManager cn_getImageName:resourceModel.name bundle:@"CNLivePreloadResources.bundle/CNLivePreloadResources" targetClass:[CNLivePreloadManager class]]; | |
| 223 | - } | |
| 224 | - break; | |
| 225 | - | |
| 226 | - } | |
| 227 | - if (image == nil) { | |
| 228 | - model.isLoadFailed = YES; | |
| 229 | - } | |
| 230 | - else{ | |
| 231 | - resourceModel.image = image; | |
| 232 | - [images addObject:image]; | |
| 233 | - model.isLoadFailed = NO; | |
| 234 | 225 | } |
| 226 | + model.images = [NSArray arrayWithArray:images]; | |
| 227 | + model.isLoading = NO; | |
| 235 | 228 | } |
| 229 | + break; | |
| 230 | + case CNLiveResourceGif: | |
| 231 | + { | |
| 232 | + | |
| 233 | + } | |
| 234 | + break; | |
| 235 | + case CNLiveResourceText: | |
| 236 | + { | |
| 237 | + | |
| 238 | + } | |
| 239 | + break; | |
| 240 | + | |
| 236 | 241 | } |
| 237 | - model.images = [NSArray arrayWithArray:images]; | |
| 238 | - model.isLoading = NO; | |
| 242 | + | |
| 239 | 243 | }); |
| 240 | 244 | |
| 241 | 245 | } | ... | ... |
CNLivePreloadResources/Classes/CNLivePreloadModel.h
| ... | ... | @@ -18,13 +18,14 @@ typedef NS_ENUM(NSInteger, CNLivePreloadType) { |
| 18 | 18 | |
| 19 | 19 | }; |
| 20 | 20 | |
| 21 | -//资源类型 | |
| 21 | +//资源类型(目前只支持图片类型) | |
| 22 | 22 | typedef NS_ENUM(NSInteger, CNLiveResourceType) { |
| 23 | 23 | CNLiveResourceImage, // 动画图片 |
| 24 | - CNLiveResourceGif // Gif | |
| 25 | - | |
| 24 | + CNLiveResourceGif, // Gif | |
| 25 | + CNLiveResourceText // 文本 | |
| 26 | 26 | }; |
| 27 | 27 | |
| 28 | +// 资源类型(1.图片 2.Gif 3.文本) | |
| 28 | 29 | @interface CNLiveResourceModel : NSObject |
| 29 | 30 | // 标识 |
| 30 | 31 | @property (nonatomic, copy) NSString *ID; |
| ... | ... | @@ -41,6 +42,7 @@ typedef NS_ENUM(NSInteger, CNLiveResourceType) { |
| 41 | 42 | |
| 42 | 43 | @end |
| 43 | 44 | |
| 45 | +// 某一种类型的资源(1.刷新图片 2.Gif封面 3.Emotion) | |
| 44 | 46 | @interface CNLivePreloadModel : NSObject |
| 45 | 47 | // 是否存在加载失败 |
| 46 | 48 | @property (nonatomic, assign) BOOL isLoadFailed; |
| ... | ... | @@ -50,8 +52,8 @@ typedef NS_ENUM(NSInteger, CNLiveResourceType) { |
| 50 | 52 | @property (nonatomic, copy) NSString *ID; |
| 51 | 53 | // UIImage |
| 52 | 54 | @property (nonatomic, strong) NSArray *images; |
| 55 | +// CNLiveResourceModel数组 | |
| 53 | 56 | @property (nonatomic, strong) NSArray<CNLiveResourceModel *> *models; |
| 54 | - | |
| 55 | 57 | // 类型 |
| 56 | 58 | @property (nonatomic, assign) CNLivePreloadType type; |
| 57 | 59 | ... | ... |