Imagine the most generic and standard UITableView storyboard:
ScreenOne has a UITableView for showing items.
ScreenTwo is a detail view for an item.
Rig up a push segue from the UITableViewCell on ScreenOne to the UIViewController of ScreenTwo.
Run this, tap on a cell, and ScreenTwo’s detail view pushes over as expected; great.
Very rarely, when the OS is a bit bogged down (ie. the CPU is under heavy load), if you tap the cell on ScreenOne once, twice, multiple times; it takes a small moment for UIkit to react, and when it does, several ScreenTwo instances get pushed onto the nav stack.
Description
Imagine the most generic and standard UITableView storyboard:
Run this, tap on a cell, and ScreenTwo’s detail view pushes over as expected; great.
Very rarely, when the OS is a bit bogged down (ie. the CPU is under heavy load), if you tap the cell on ScreenOne once, twice, multiple times; it takes a small moment for UIkit to react, and when it does, several ScreenTwo instances get pushed onto the nav stack.
(see attached video for a live app example; or this Youtube video: https://www.youtube.com/watch?v=i5fFdmKNrKU )
This can be remediated by preventing user interaction on the table view or cell after the first tap; but this is a crude workaround.
Product Version: iOS 9.3.1 Created: 2016-05-12T17:29:36.714230 Originated: 2016-05-12T10:28:00 Open Radar Link: http://www.openradar.me/26247421