No need to refresh! You can use threading to do it. Main_thread use to update UI time by time, let append code to another queue (concurrent or serialize is depend on your purpose. With method using block (if you don't know, discover it, it's available on Ray Wenderlich). Block is a mechanism of callback. like this:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{
[self getNewConversation:^(NSArray *conversations, NSError *error){
dispatch_async(dispatch_get_main_queue(), ^{//you got back with main_thread
if(error){
NSLog(@"Error with description: %@", error.description);
}else{
//update your view with new content right here
}
});
}];
});
This's mechanism how to update your screen when there are new conversation from someone else. By apply this, you're using multi-threading to do both update your UI and manipulate data from Parse. About remote notification, you can refer to link which @Nick provided. Notification should be used when device is locked or sleep, with active app, it should be implemented with block to call back your UI and update it! However, applying multi-threading help to improve app performance. But be carefully with it! It's not for newbie.