Random thoughts on storyboard segues
// Thought #1
- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
[self performSelector:NSSelectorFromString(segue.identifier)
withObject:segue.destinationViewController];
#pragma clang diagnostic pop
}
// Thought #2
- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
typedef void(^SegueAction)(id destination);
NSDictionary *mapping = @{
@"addAlarm" : ^(UINavigationController *navigator) {
[navigator.viewControllers[0] setAlarm:[HDAlarm new]];
},
@"editAlarm" : ^(AlarmEditViewController *editor) {
editor.alarm = [_dataController objectAtIndexPath:self.tableView.indexPathForSelectedRow];
}
};
SegueAction action = mapping[segue.identifier];
action(segue.destinationViewController);
}