SDWebImageManager在CCLayer中的使用方法
1。 在標頭檔中
#import"SDWebImageManager.h"
CCLayer要在類定義裡面實現
SDWebImageManagerDelegate這個協議。
定義 並且建立
UIImageView * m_headImage;
2。 啟動下載頭像
- (void) upDateUserAvatar:(std::string) strAvatar{ if (strAvatar.length()<=0) { return ; } NSString * nsStrAvatar=[NSString stringWithCString:strAvatar.c_str() encoding:NSUTF8StringEncoding]; if ([nsStrAvatar length] != 0) { SDWebImageManager* wim = [SDWebImageManager sharedManager]; [wim cancelForDelegate:self]; NSURL* url = [NSURL URLWithString:nsStrAvatar]; UIImage* cachedImage = [wim imageWithURL:url]; if (cachedImage) { m_headImage.image=cachedImage; } else { [wim downloadWithURL:url delegate:self]; }}}
3。 對
SDWebImageManagerDelegate的實現 代碼
//SDWebImageManagerDelegate delegate implement- (void)webImageManager:(SDWebImageManager *)imageManager didFinishWithImage:(UIImage *)image{ UNUSED(imageManager); m_headImage.image=image;}- (void)webImageManager:(SDWebImageManager *)imageManager didFailWithError:(NSError *)error{ UNUSED(imageManager); UNUSED(error);}
4。 在OnExit中取消 下載
-(void) onExit{ //取消self提交的下載請求 [[SDWebImageManager sharedManager] cancelForDelegate:self]; [super onExit];}