All the views are refreshed in the main thread, if you don't put expensive process like loadAndSortArray
in background thread this happen to you.
You can put that method inside:
dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void){
[self loadAndSortArray];
});