Для навигации iOS 5 между контроллерами просмотра класс UIViewController
предоставляет селектор [self performSegueWithIdentifier:@"MySegue" sender:sender]
. Предположительно, под капотом реализация раскадровки знает список идентификаторов segue, исходящих из любого контроллера вида, то есть [@"MySegue", @"MySegue2"]
. Есть ли способ получить доступ к этому списку программно, чтобы получить идентификаторы, которые могут быть переданы для выполнения SegueWithIdentifier?Программно перечислять исходящие Segues для UIViewController
ответ
Это недокументированная поведение, но
NSArray *segueTemplates = [self valueForKey:@"storyboardSegueTemplates"] ;
должен возвращать массив, который включает в себя все возможные значения SEGUE, которые могут быть переданы в performSegueWithIdentifier
.
Нет публичного API для перечисления segues в раскадровке.
Сад. Таким образом, мой единственный вариант - поймать исключение, если оно выбрасывает ... Это не похоже на Apple. –
Я хотел бы переоценить это с помощью ios9 [хотя моя надежда тонкая: D] –
Хранить все segue
, связанные с контроллером представления в массиве, а затем получить доступ к этому массиву в контроллере представления.
cool - мне нужно, если только для кода Dummy/только код отладки –
Кажется проверенным в другом месте: https://gist.github.com/away4m/5bb5d773cb93aa9e60a1 - Спасибо, Рог! – btown