我想列出UIViewController的传出脚本,如以编程方式枚举UIViewController的传出脚本所述,但在Swift中。(Swift 2,Xcode7,iOS8 +)。
我可以
override func viewDidLoad() { super.viewDidLoad() let s = valueForKey("storyboardSegueTemplates") print("switchingVC: segues: \(s)") }
并且产生像
switchingVC: segues: Optional(( "<UIStoryboardPresentationSegueTemplate: 0x1754a130>", "<UIStoryboardPresentationSegueTemplate: 0x17534f60>", "<UIStoryboardPresentationSegueTemplate: 0x17534fc0>" ))
但是之后我很难产生任何东西。我找不到的任何定义UIStoryboardPresentationSegueTemplate。我该如何说服Swift告诉我其中的内容?我如何找到segueidentifier?
UIStoryboardPresentationSegueTemplate
identifier
谢谢!
这 valueForKey("storyboardSegueTemplates")是 UNDOCUMENTED 属性,UIStoryboardPresentationSegueTemplate是 UNDOCUMENTED类。如果您要将应用程序上载到AppStore,请当心被App Store拒绝。
valueForKey("storyboardSegueTemplates")
如果要在内部项目中使用此功能,请按以下方式使用
for template in (valueForKey("storyboardSegueTemplates") as? [AnyObject])! { if let identifier = template.valueForKey("identifier") as? String { print("identifier - " + identifier) } else { print("no identifier for \(template)") } }
从https://github.com/JaviSoto/iOS9-Runtime- Headers/blob/master/Frameworks/UIKit.framework/UIStoryboardSegueTemplate.h找到