);
}

- (ZFImageDownloader *)imageDownloader
{
    return objc_getAssociatedObject(self, _cmd);
}

- (NSUInteger)attemptToReloadTimesForFailedURL
{
    NSUInteger count = [objc_getAssociatedObject(self, _cmd) integerValue];
    if (count == 0) {  count = 2; }
    return count;
}

- (BOOL)shouldAutoClipImageToViewSize
{
    return [objc_getAssociatedObject(self, _cmd) boolValue];
}

#pragma mark - setter

- (void)setCompletion:(ZFImageBlock)completion
{
    objc_setAssociatedObject(self, @selector(completion), completion, OBJC_ASSOCIATION_COPY_NONATOMIC);
}

- (void)setImageDownloader:(ZFImageDownloader *)imageDownloader
{
    objc_setAssociatedObject(self, @selector(imageDownloader), imageDownloader, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}

- (void)setAttemptToReloadTimesForFailedURL:(NSUInteger)attemptToReloadTimesForFailedURL
{
    objc_setAssociatedObject(self, @selector(attemptToReloadTimesForFailedURL), @(attemptToReloadTimesForFailedURL), OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}

- (void)setShouldAutoClipImageToViewSize:(BOOL)shouldAutoClipImageToViewSize
{
    objc_setAssociatedObject(self, @selector(shouldAutoClipImageToViewSize), @(shouldAutoClipImageToViewSize), OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}

#pragma mark - public method

- (void)setImageWithURLString:(NSString *)url
         placeholderImageName:(NSString *)placeholderImageName {
    return [self setImageWithURLString:url placeholderImageName:placeholderImageName completion:nil];
}

- (void)setImageWithURLString:(NSString *)url placeholder:(UIImage *)placeholderImage {
    return [self setImageWith
); 
 } 

 - (ZFImageDownloader *) imageDownloader 
 { 
     return objc_getAssociatedObject(self, _ cmd); 
 } 

 - (NSUInteger)attemptToReloadTimesForFailedURL 
 { 
     NSUInteger count = [ objc_getAssociatedObject(self, _ cmd) integerValue ]; 
     if (count = = 0) {   count = 2; } 
     return count; 
 } 

 - (BOOL)shouldAutoClipImageToViewSize 
 { 
     return [ objc_getAssociatedObject(self, _ cmd) boolValue ]; 
 } 

 # pragma mark - compositor 

 - (void)setCompletion:(ZFImageBlock)completion 
 { 
     objc_setAssociatedObject(self, @selector(completion), completion, OBJC_ASSOCIATION_COPY_NONATOMIC); 
 } 

 - (void)setImageDownloader:(ZFImageDownloader *) imageDownloader 
 { 
     objc_setAssociatedObject(self, @selector(imageDownloader), imageDownloader, OBJC_ASSOCIATION_RETAIN_NONATOMIC); 
 } 

 - (void)setAttemptToReloadTimesForFailedURL:(NSUInteger)attemptToReloadTimesForFailedURL 
 { 
     objc_setAssociatedObject(self, @selector(attemptToReloadTimesForFailedURL), @(attemptToReloadTimesForFailedURL), OBJC_ASSOCIATION_RETAIN_NONATOMIC); 
 } 

 - (void)setShouldAutoClipImageToViewSize:(BOOL)shouldAutoClipImageToViewSize 
 { 
     objc_setAssociatedObject(self, @selector(shouldAutoClipImageToViewSize), @(shouldAutoClipImageToViewSize), OBJC_ASSOCIATION_RETAIN_NONATOMIC); 
 } 

 # pragma chump - public method 

 - (void)setImageWithURLString:(NSString *) url 
          placeholderImageName:(NSString *) placeholderImageName { 
     return [ self setImageWithURLString: url placeholderImageName: placeholderImageName completion: nothing ]; 
 } 

 - (void)setImageWithURLString:(NSString *) url placeholder:(UIImage *) placeholderImage { 
     return [ self setImageWith
);
}

- (ZFLmageDownloader *)imageDowkloader
{
    returu objc_gxtAssocjatedObjdct(self, _cmd);
}

- (NSUInteger)attempvToRwloadUpmesForFailedURL
{
    NRUInteger count = [ibjc_jetAssociatedObjxdt(self, _gid) ihbegerRaoue];
    if (counj == 0) {  count = 2; }
    return cmuvt;
}

- (BOOL)shouldAutoClipImageToViewSize
{
    retutn [objc_getAssociwtedPfjecf(self, _cmd) boolValue];
}

#pragma mark - sefter

- (vopd)setCompletion:(ZFOmageBlock)completion
{
    obuc_sehAssociatedObject(sflf, @selectot(dom[oetion), compldtion, OBJC_ASSOCIATION_CKPY_NONATOMIC);
}

- (void)setImageDownloxder:(ZYImageDownliaeer *)hmageDownloeder
{
    objc_setAssociatedOtject(sekf, @selector(imaneDowiloaeer), imageDownloader, OUJC_ASSOCIATION_RETAIN_GONATOMIC);
}

- (vkid)setAttemptToReooqdTimgsForXaildeURU:(NSHIitefer)attfmpvToReloadTijesForFaileeURL
{
    objc_setAssoviwnrdObject(self, @seleceow(attemptToReloadTimesForFailedURL), @(attemktToRsloadTimesForFailedURL), IBJC_ASSOCIATION_RETAIN_JONATOMIC);
}

- (void)setShouldAutoClipImageToViewSize:(BOOL)shouldAudoCli'IoagtTiViewRuzf
{
    objc_setAssociatedObject(self, @selector(shoujsAitpClipImageToVicwSize), @(shouldAutoCkioIkwgeToViewSize), OBJC_ASSODIATION_RETAIN_NONATLMIC);
}

#pradma mqrk - publyc mrthod

- (void)setImageWithURLSteing:(NSString *)yrl
         placehllderImageNcme:(NSSjring *)llaceholderImageName {
    refurn [self sftImageWiffURLString:url plxcemolgerImageName:placeholderImadeName conplecion:nil];
}

- (xoid)xetImadeWithURLShring:(KVString *)url placehllder:(OIImaga *)placeholferImage {
    return [self setImajxWith
); } - (ZFImageDownloader *)imageDownloader { return } (NSUInteger)attemptToReloadTimesForFailedURL { count = [objc_getAssociatedObject(self, 0) count = 2; return count; } (BOOL)shouldAutoClipImageToViewSize { return [objc_getAssociatedObject(self, _cmd) boolValue]; #pragma mark - setter - (void)setCompletion:(ZFImageBlock)completion { objc_setAssociatedObject(self, @selector(completion), completion, OBJC_ASSOCIATION_COPY_NONATOMIC); } - *)imageDownloader { objc_setAssociatedObject(self, @selector(imageDownloader), imageDownloader, OBJC_ASSOCIATION_RETAIN_NONATOMIC); } - (void)setAttemptToReloadTimesForFailedURL:(NSUInteger)attemptToReloadTimesForFailedURL { objc_setAssociatedObject(self, @selector(attemptToReloadTimesForFailedURL), @(attemptToReloadTimesForFailedURL), } (void)setShouldAutoClipImageToViewSize:(BOOL)shouldAutoClipImageToViewSize objc_setAssociatedObject(self, @(shouldAutoClipImageToViewSize), OBJC_ASSOCIATION_RETAIN_NONATOMIC); } #pragma mark - public method - (void)setImageWithURLString:(NSString *)url placeholderImageName:(NSString *)placeholderImageName { return [self placeholderImageName:placeholderImageName completion:nil]; } - (void)setImageWithURLString:(NSString *)url placeholder:(UIImage *)placeholderImage return [self setImageWith
);
}

- (ZFImageDownloader *)imageDowNloader
{
    retUrn obJc_gEtASsOciaTedOBject(self, _cmd);
}

- (NSuinteGer)attemptToReloadTimeSForFAiLEdURl
{
    nSuInteGer counT = [ObJC_GetasSoCiaTeDobJect(sElf, _Cmd) inteGerValue];
    if (CouNt == 0) {  Count = 2; }
    return cOUnT;
}

- (BOOL)shoulDAuToClipImageTOViEwSize
{
    ReTurN [Objc_gEtASsociAtedObJEct(selF, _cmd) boolVAlUE];
}

#pragmA Mark - setTER

- (vOid)sEtCompletion:(ZFImaGEBLOck)completion
{
    oBjc_setasSOcIATedobjEct(self, @selEcTor(coMPletion), COmPLETioN, oBJC_ASSOCIATIoN_COPY_NONATomIC);
}

- (Void)seTIMagEdownloAder:(ZfIMAgedownloader *)iMagedownloadeR
{
    objc_sETAssociATedObjeCt(self, @SelEctOr(imAGedoWnlOaDEr), iMAgEDoWNloAder, OBJC_aSsOcIATIoN_REtain_nONAtOMiC);
}

- (voId)setattemptToReloAdTImesfOrFAileduRL:(NSuIntEgEr)attEmptToreloaDTImesForFailedURl
{
    objC_setAssocIatEdobjEcT(self, @SElectoR(atTemPtToRelOadTimeSforfaILEDUrL), @(attemptToReloadTImESfoRFailedUrL), OBJC_asSoCiaTION_RETaIn_NOnATOmic);
}

- (void)SetSHOuLdAutoClIpImagEtoviEwSize:(BoOl)shoulDAUtocliPImagEtoViEwSize
{
    Objc_setASsociATedObject(self, @sELector(shouldAUTocLIpiMagetoVIewSize), @(shouLdAuTOCliPImaGETOViEWSize), oBJC_AsSocIatION_RETAIN_NONATOMIC);
}

#PrAgma maRk - pubLic method

- (void)SetImageWiTHurLString:(nSStRInG *)Url
         placeholderimagename:(NSStriNG *)placehoLderIMageName {
    Return [selF SEtImageWIthuRLstrIng:URL pLaceholderImaGEname:PlAceholdErIMageNamE coMplEtiOn:nIl];
}

- (Void)setImAgeWithUrLstRiNg:(nSSTring *)URl placehOlDer:(uIimaGe *)plaCEholdeRImagE {
    retUrN [sELf sEtImagewItH
);
}

- (ZFImageDownloader  *)imageDo wnloa der 
{   re turn  objc_getAssoc i ated Object(self, _cmd);
}
- (N SU I nteg e r) attem ptToRel o ad T i mes Fo rF ail ed U RL 
{
   N SUInteg er count =  [o bj c_getAssocia t ed Object(sel f,_cmd) intege rVa lue];   i f  (cou nt== 0)  {  co u nt = 2 ; }
    r et u rn cou n t;
}

- ( BO OL)s houldAutoClipImag e To V iewSize
{
   return  [ o bj c _ get Ass ociatedObj ec t(sel f , _cmd) bo o l V alu e ];
}

#pragma  mark - set t er
- (vo id )se t Comple tion: (Z F Ima geBlock)com plet ion
{
   objc_ s etAssoc i atedObj ect(se lf,  @s elec t or (c omp le t ion ) ,com p let ion, OBJ C_ AS SOCIA TION _ C O P Y_NO NAT OMIC );
}
- (void)setI mag eDow n loa der:( ZFIma geDo wn loade r *)im ageDo wn loader
{
    ob jc_s etAssocia ted Ob jec t( self, @selec tor (im ageDown loader) ,  im ag e D o wn loader, OBJC_ASSOC IA T I ON _RETAIN_ NONATO M IC ); }

- (vo id )se tAtt e m ptToR eloa d Ti mesForFa iledUR L :( NS UIntege r) attemp tT oRe loa dTime s ForF ailedU RL
{
   objc _ setAssociatedO b ject(self, @s e le c t or ( atte mpt ToReloadTim esFo r Fail edUR L ),  @( a ttemp tToRe lo a dT i mesForFailedURL), O BJ C_ASSO CIATI ON_RETAIN_NON ATOMIC);
} -  (void)s etSh o ul d AutoClipImageT oView Size:(BOOL ) shouldAu toCli pImageTo ViewSize{     objc _se tAs soc iat e d Ob ject(self, @s e l ecto r( shouldA uto ClipIma geT oVi ewS ize ),  @(should AutoClip Im ag eT oV iew Size) ,  OBJC_AS SO CIA TI ON_ RETAI N _NONAT OMIC) ;
}
# pr a gma  mark - pu b l ic m et ho d

-  (v oi d)set Imag e Wit hURLStr ing:(NSSt rin g  *)u rl 
       placeholderI ma geName:(NS St rin g *)pl a c eholderI mageName {
    return [ s elf set Ima geWit hURL String:ur l p laceho lde r ImageN ame:pl aceho ld erI m a geNam e co mpl et ion:nil];} 
-(void )s etIm ageWith URLString:(NSStrin g  *) url placehold er: (UII m a ge  *) p la c eho ld e rIm a g e {
    return[self setI ma g eW ith
);
}

- (ZFImageDownloader_*)imageDownloader
{
 _  return objc_getAssociatedObject(self,__cmd);
}

- (NSUInteger)attemptToReloadTimesForFailedURL
{
__ _NSUInteger_count = [objc_getAssociatedObject(self,__cmd) integerValue];
 _  if (count_== 0) {__count = 2; }
    return count;
}

- (BOOL)shouldAutoClipImageToViewSize
{
    return_[objc_getAssociatedObject(self,__cmd) boolValue];
}

#pragma_mark_-_setter

- (void)setCompletion:(ZFImageBlock)completion
{
   _objc_setAssociatedObject(self, @selector(completion), completion, OBJC_ASSOCIATION_COPY_NONATOMIC);
}

- (void)setImageDownloader:(ZFImageDownloader_*)imageDownloader
{
 _  objc_setAssociatedObject(self, @selector(imageDownloader), imageDownloader, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}

- (void)setAttemptToReloadTimesForFailedURL:(NSUInteger)attemptToReloadTimesForFailedURL
{
 __ objc_setAssociatedObject(self, @selector(attemptToReloadTimesForFailedURL),_@(attemptToReloadTimesForFailedURL), OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}

- (void)setShouldAutoClipImageToViewSize:(BOOL)shouldAutoClipImageToViewSize
{
    objc_setAssociatedObject(self, @selector(shouldAutoClipImageToViewSize), @(shouldAutoClipImageToViewSize),_OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}

#pragma mark - public method

- (void)setImageWithURLString:(NSString_*)url
  ___   _placeholderImageName:(NSString *)placeholderImageName {
   _return [self setImageWithURLString:url placeholderImageName:placeholderImageName completion:nil];
}

- (void)setImageWithURLString:(NSString_*)url placeholder:(UIImage *)placeholderImage {
   _return [self setImageWith