First time only it download image from URL. Twice you called it brings the image from Cache Memory. Because it stores the image with key as your imageUrl. This is the simple way to set image to your button
[myButton setImage:pPostImage.image forState:<#(UIControlState)#>];