有什么方法可以在-[UIViewController performSegueWithIdentifier:sender:]
之外以编程方式获取故事板中创建的片段吗?
理想情况下,我希望能够在故事板中创建片段,在代码中获取这些片段,并检索这些片段的目标视图控制器。对我来说,这比使用视图控制器标识符(例如[[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"identifier"]
)更干净、更容易维护。
使用的一个示例是实现3D触摸深按手势,以窥视和弹出通过传统segue访问的视图控制器。
要以编程方式获取segue,您可以使用以下代码,它将返回segue数组。
目标c
NSArray *segueTemplates = [(UIStoryboardSegue *) self valueForKey:@"storyboardSegueTemplates"] ;
for (UIStoryboardSegue *string in segueTemplates) {
NSLog(@"%@", string.identifier);
}
Swift
let segueTemplates = self.valueForKey("storyboardSegueTemplates")