Most iPhone apps that I use have a very subtle but slick behavior when using a navigation flow. When you return to the previous view, the selected item immediately deselects so you get a brief un-highlighting. This tells the user which item they just edited/viewed.
My problem is that my own application does not exhibit this behavior. I set it up in xcode 4.2 using mostly segues, but with some code behind.
I’ve narrowed it down to the fact that i am using reloadData in viewWillAppear. But I need to reload this on return from a modal which I use to add items to the list.
How/where should I be reloading my list so that it includes the new item but does not stop the deselect/highlight pattern from working?
Reloading the entire table is conceptually simple, but a better solution might be to call
-insertRowsAtIndexPaths:withRowAnimation:to add the new rows to the table. That should allow the deselection animation to proceed normally, and you may also get a nice animation as new rows are inserted.