PullToRefresh
PullToRefresh copied to clipboard
MultiThreading
Added multithreading to the table so you don't hang up the main thread with network requests.
performSelector:withObject:afterDelay: is non-blocking and will defer to the runloop. I suspect (but haven't bothered benchmarking) that spawning a new thread, and then dispatching back to the main runloop is actually more expensive than letting the runloop handle things outright.
It is useful when executing network requests, and thus is better than letting it run on the main runloop.
Actually, the refresh method should be replaced by a delegate that performs whatever request is needed to update this table view. This controller is generic and should be oblivious about implementations details