ios - Editing argument in objective-c blocks -
i want edit uiimage pointer in block it's not allowed.
-(void)downloadimage:(nsurl *)url ofpointer:(uiimage *)imagepointer { __weak typeof(self) weakself = self; [sdwebimagemanager.sharedmanager downloadwithurl:url options:0 progress:^(nsuinteger receivedsize, long long expectedsize) {} completed:^(uiimage *image, nserror *error, sdimagecachetype cachetype, bool finished) { imagepointer = image; [weakself setneedsdisplay]; }];
}
i tried pass argument __block it's not allowed too.
-(void)downloadimage:(nsurl *)url ofpointer:(__block uiimage *)imagepointer
is there way edit pointer passed argument?
you need use pointer pointer (uiimage **
) image immutable object if change inside block wouldn't have effect desire.
what should use delegation or callback block pass downloaded image out of block instance going use it.
Comments
Post a Comment