当前位置: 首页 > 面试题库 >

Swift:以编程方式枚举UIVIewController发出的传出消息

屈宏爽
2023-03-14
问题内容

我想列出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

谢谢!


问题答案:

valueForKey("storyboardSegueTemplates")UNDOCUMENTED
属性,UIStoryboardPresentationSegueTemplateUNDOCUMENTED类。如果您要将应用程序上载到AppStore,请当心被App Store拒绝。

如果要在内部项目中使用此功能,请按以下方式使用

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
找到



 类似资料:
  • 枚举是用户定义的数据类型,由一组相关值组成。 关键字用于定义枚举数据类型。 枚举功能 Swift 4中的枚举也类似于C语言和Objective C的结构。 它在类中声明,并且通过该类的实例访问其值。 使用枚举初始化器定义初始成员值。 通过确保标准协议功能,还可以扩展其功能。 语法 使用关键字引入枚举,并将其整个定义放在一对括号中 - 例如,可以按如下方式定义星期几的枚举 - 示例代码 当使用pla

  • 枚举简单的说也是一种数据类型,只不过是这种数据类型只包含自定义的特定数据,它是一组有共同特性的数据的集合。 Swift 的枚举类似于 Objective C 和 C 的结构,枚举的功能为: 它声明在类中,可以通过实例化类来访问它的值。 枚举也可以定义构造函数(initializers)来提供一个初始成员值;可以在原始的实现基础上扩展它们的功能。 可以遵守协议(protocols)来提供标准的功能。

  • 问题内容: 我有一个枚举的类对象(我有一个),我需要获取此枚举表示的枚举值的列表。该静态函数有我需要什么,但我不知道怎么去从类对象访问它。 问题答案:

  • 问题内容: 当存在后置条件时,该方法的返回值一定不能为null,该怎么办? 我可以 但是断言可以关闭! 那可以吗 ? 还是针对此类情况使用用户定义的异常(例如NullReturnValueException)更好? 问题答案: 我认为在JVM为您执行操作之前尽早抛出NPE没问题-特别是对于null参数。对此似乎有一些争论,但是Java SE库中有许多示例正是这样做的。我不明白为什么NPE在您自己不

  • 问题内容: 我一直在尝试以编程方式重做我的应用程序上的工作。(不使用情节提要) 除了手动制作导航控制器外,我几乎完成了。 我一直在做一些研究,但找不到任何手动实现此方法的文档。(我开始将应用程序制作为单视图应用程序) 目前,我只有1个ViewController。当然是appDelegate 导航控制器将在应用程序的所有页面中使用。 如果有人可以帮助我,或发送指向一些适当文档的链接以编程方式进行此

  • 我有一个用于jenkins pipline的小项目,代码是用groovy编写的,我创建了一个枚举,如下所示: