UITableViews are designed to reuse cells. When you scroll up for example the first cell might get reused to show the 5th cell since the 1st one is now off screen. When you scroll back up cellForRowAtIndexPath is called again, and you are async downloading the same image again. If you want to have it load instantly you will need to cache the images after downloading them the first time so the next time that image is needed you can directly pull it from the cache.

Many third party libraries do this (AFNetworking), but if you don't want to use them, you will have to cache the images manually.

asynchronously loaded images in uitableview disappear on scrolling up
When I go back to Zora's Cave, the Queen is gone. I am told that she is out swimming and very late.  I went to the lake and swam around but when I came back, but she is still gone. How can I find her?
