After I mistyped yet another segue identifier string this week my application once again suffered from a familiar crash:
Receiver (<JBWMasterViewController: 0x8cbd540>) has no segue with identifier 'showDetial'
You have probably seen a similar crash yourself, caused by a call to -[UIViewController performSegueWithIdentifier:sender:]
with an unknown identifier. To prevent having hard-coded strings repeated all over the place I was already using constants to refer to my identifiers. However maintaining these constants manually is still prone to errors such as small typo’s. As demonstrated by my crash mentioned above.
To finally rule out crashes like this from now on my projects use a small python script to generate NSString
constants for all identifiers found in UIStoryboard
files.