(1) The current user's PFUser object is in fact [PFUser currentUser] so all that code in your first line could be replaced with:
PFUser *user = [PFUser currentUser];
(2) Everything else looks OK, but if you're using a PFImageView, your [profileImage loadInBackground]; call should also be within the fetchIfNeededInBackgroundWithBlock: async block.