After saving the (potential) changes made in the DetailViewController, we are instructed to implement viewWillAppear in the ItemsViewController to reflect the changes made by the DetailViewController:
[[self tableView] reloadData];
So far so good! But this point is not the only point viewWillAppear will be called, for example it is called when we just instantiated the ItemsViewController and its tableView is about to appear for the first time. It seems to me in such cases reloadData has no effect since there is no way the data could have been changed. And since reloadData is a pretty intense method shouldn’t we be more careful when using it?