I’m getting updates occasionally from NSMetadataQueryDidUpdateNotification’s. These are running in background asynch threads, but still slow down the app once in a while.
The problem is that this slows down my TableView enough so that if you click a row, it sometimes doesn’t push it right away. It’s a simple call inside tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
[[self navigationController] pushViewController:detailViewController animated:YES];
[detailViewController release];
If you touch the row a couple times (in frustration), the app viewcontroller stack gets messed up:
nested push animation can result in corrupted navigation bar
nested push animation can result in corrupted navigation bar
nested push animation can result in corrupted navigation bar
Finishing up a navigation transition in an unexpected state. Navigation Bar subview tree might get corrupted.
Finishing up a navigation transition in an unexpected state. Navigation Bar subview tree might get corrupted.
Finishing up a navigation transition in an unexpected state. Navigation Bar subview tree might get corrupted.
Unbalanced calls to begin/end appearance transitions for <DetailViewController: 0xdabc0c0>
How do I stop this from happening and only accept the first touch on the row?
I’ve solved this partially for now. I tried to use:
in my add button method and tableView didSelectRowAtIndexPath but it didn’t fix the multiple press issue. So I had to disable them individually:
creation of add button:
at the beginning of my addNew: method
at the beginning of my tableView didSelectRowAtIndexPath method
in viewWillAppear: