swift通过字符串创建控制器

ZhangShengjie ZhangShengjie     2022-08-29     538

关键词:

由于Swift 中新增了一个命名空间(在同一个命名空间中的文件可以直接访问而不用引入头文件)的概念 所以通过字符串创建控制器需要带上命名空间

1 首先为Bundle 写一个分类  获取命名空间

extension Bundle{
    var namespace : String {
     return   infoDictionary?["CFBundleName"] as? String ?? ""
    }
}

2 然后通过字符串直接创建控制器

guard let Class = NSClassFromString(Bundle.main.namespace+"."+"你的控制器名字字符串") as?UIViewController.Type else {
            
        }
 let vc = Class.init()

 

通过 Storyboard 创建时如何学习 Swift 命令? [关闭]

...题描述】:我正在搞乱故事板构建器并像我一样看着视图控制器,所以我可以学习每个项目的代码。例如,如果我使用故事板创建标签,我想查看生成的标签代码,以便我可以记录代码并学习以编程方式进 查看详情

通过 prepareForSegue 传递 NSString - Swift

...815:55:18【问题描述】:我正在尝试使用prepareForSegue方法将字符串传递给我的模态视图控制器,如下所示。见下文:这是我的初始视图控制器,我将在其中展示模态视图:overridefuncprepareForSegue(segue: 查看详情

Swift 3 - 通过开关更改所有视图控制器的背景颜色(暗模式/夜间模式)

】Swift3-通过开关更改所有视图控制器的背景颜色(暗模式/夜间模式)【英文标题】:Swift3-Changingbackgroundcolourofallviewcontrollers,viaswitch(Darkmode/Nightmode)【发布时间】:2017-05-2921:56:18【问题描述】:我创建了一个开关,让用户可以更... 查看详情

Swift:通过扩展更新 UIViewController 插图

...:29:38【问题描述】:我想在某些设备上更新我的所有视图控制器的UIEdgeInsets,并且我想看看是否有办法将其作为扩展在全局范围内执行,而不是为每个设备创建一个方法并在viewDidLoad中调用它。有没有办法做到这一点?我尝 查看详情

iOS Swift 如何告诉 UIView 控制器我们通过 NSURLProtocol 对象接收到信息

】iOSSwift如何告诉UIView控制器我们通过NSURLProtocol对象接收到信息【英文标题】:iOSSwifthowtotelltheUIViewControllerthatwereceivedinformationviaaNSURLProtocolobject【发布时间】:2015-10-0117:18:59【问题描述】:我创建了一个实现NSURLProtocol的类,它... 查看详情

根据字符串生成类---类的类型.self---根据字符串创建控制器对象

swift和OC一样,都是通过NSClassFromString,根据一个字符串,生成相应的类。1//UITabBarButton是系统的私有类,不能直接使用2//ifbtn.isKind(of:UITabBarButton.self){3ifbtn.isKind(of:NSClassFromString("UITabBarButton")!){4//NSClassFromString:根据字符串 查看详情

swift根据字符串创建类

...以满足动态界面的展示需求分2种情况,一种是由后端穿字符串,转换原生类,一种是本地类通用化转换目前转换类有2个方法classForCoder()和NSClassFromString()第一种转换,自带命名空间,第二个单纯的类名1、获取命名空间-CFBundleExecu... 查看详情

创建视图控制器并将现有 VC 的标签和按钮添加到新的 VC Swift iOS

】创建视图控制器并将现有VC的标签和按钮添加到新的VCSwiftiOS【英文标题】:CreatingaviewcontrollerandaddingLabelsandbuttonsofexistingVCtonewVCSwiftiOS【发布时间】:2017-12-2706:05:59【问题描述】:我正在快速创建formbuilder,我希望将文本字段、... 查看详情

在所有视图控制器中创建警报功能 - swift

】在所有视图控制器中创建警报功能-swift【英文标题】:createalertfunctioninallviewcontrollers-swift【发布时间】:2017-04-1208:08:23【问题描述】:我正在尝试声明一个用于在我的应用中显示警报的函数。为避免重复工作,我尝试对我的所... 查看详情

Swift - 通过导航控制器委托

】Swift-通过导航控制器委托【英文标题】:Swift-DelegatethroughNavController【发布时间】:2017-05-0103:09:57【问题描述】:我将在其中包含我的完整代码,但我会尝试指出相关位的位置。基本上,我从UnwindSegue返回到带有一些新数据的视... 查看详情

Swift:无法通过使用发送者的 segue 设置 [String]

...segue会触发ViewController并根据屏幕上触摸的内容设置视图控制器标签 查看详情

Swift:数组、文本字段和 UITableView

...:2016-01-1722:15:32【问题描述】:我正在尝试创建一个基于字符串数组显示表格视图的应用程序。我有一个视图控制器和一个较小的内容视图。在视图控制器中有一个文本字段和一个按钮,应该将写入的文本保存在一个数组中并在... 查看详情

如何以编程方式创建标签栏控制器后添加导航界面(Swift)

】如何以编程方式创建标签栏控制器后添加导航界面(Swift)【英文标题】:Howtoaddnavigationinterfaceaftercreateatabbarcontrollerprogrammatically(Swift)【发布时间】:2014-12-2116:30:43【问题描述】:在AppDelegate/didFinishLaunchingWithOptions上创建TabBarCo... 查看详情

如何使用 Swift 创建底部表单样式模型视图控制器?

】如何使用Swift创建底部表单样式模型视图控制器?【英文标题】:HowtocreatebottomsheetstylemodelviewcontrollerusingSwift?【发布时间】:2019-02-0720:20:58【问题描述】:我正在尝试使用storyboard而非代码库创建button单击以显示底部表viewcontroll... 查看详情

iOS8 Swift 无法使用 xib 创建视图控制器

】iOS8Swift无法使用xib创建视图控制器【英文标题】:iOS8Swiftcan\'tcreateviewcontrollerwithxib【发布时间】:2016-08-2408:30:14【问题描述】:我正在使用Swift,并且正在修复iOS8的一些错误。我使用.xib创建了一个视图控制器。例如,一个视... 查看详情

swift - 通过 prepareforsegue 在 2 个视图控制器之间添加值

】swift-通过prepareforsegue在2个视图控制器之间添加值【英文标题】:swift-addingvaluesbetween2viewcontrollersbyprepareforsegue【发布时间】:2015-02-1708:36:33【问题描述】:我有2个ViewController:ViewController1、ViewController2。ViewController1中的“添加... 查看详情

通过一个容器视图传递多个视图控制器 - Xcode 8、Swift 3

】通过一个容器视图传递多个视图控制器-Xcode8、Swift3【英文标题】:PassMultipleViewControllersthroughOneContainerView-Xcode8,Swift3【发布时间】:2017-03-1200:19:12【问题描述】:我只是想在按下按钮时通过容器视图传递一个视图控制器。我的... 查看详情

Swift:如何通过单击按钮 UITableVieCell 创建 UIActionSheet

】Swift:如何通过单击按钮UITableVieCell创建UIActionSheet【英文标题】:Swift:HowtocreateUIActionSheetwithclickonbuttonUITableVieCell【发布时间】:2018-02-1409:38:30【问题描述】:我有一个带有按钮的表格视图,当我单击3点按钮时,我想在这里创... 查看详情