gpt4 book ai didi

ios - 以编程方式将自定义类名称设置为 Storyboard

转载 作者:可可西里 更新时间:2023-11-01 06:14:33 26 4
gpt4 key购买 nike

我正在尝试在 iOS 中以编程方式将自定义类名称设置为 Storyboard。

我有带 View Controller 的 Storyboard MyFirstViewController 并将类名设置为 MyFirstViewController

现在我创建另一个 View Controller SecondViewController 扩展 MyFirstViewController

 SecondViewController *vcsecond = (SecondViewController *)[self.storyboard instantiateViewControllerWithIdentifier:@"MyFirstViewController"];
[self.navigationController pushViewController:vcsecond animated:YES];

当我运行此应用程序时,我的 SecondViewController viewDidLoad 方法未调用,它调用 MyFirstViewController viewDidLoad 方法。

我得到 vcsecond 作为 MyFirstViewController 的对象。

请帮助我如何使用 MyFirstViewController XIB 打开 SecondViewController

我只想将 MyFirstViewController 的所有功能继承到 SecondViewController 并在此重写一些方法,并在重写的方法中执行一些具有附加功能的新代码。

两个 View Controller 的设计相同,只是使用覆盖方法添加了一些新功能。

Please refer this

在屏幕上方的 TabSearchForDocViewController 是我的 MyFirstViewController Controller 。

所以我的实际问题是------------

我有两个 View Controller 的通用 Storyboard页面。我的 SecondViewController 扩展了 MyFirstViewController。现在我想使用 comman Storyboard页面打开我的 SecondViewController。是否可以通过编程方式设置类名?

最佳答案

instantiateViewControllerWithIdentifier 将始终返回 Storyboard 中相应场景中指定的类的实例 - 您无法在运行时覆盖它。

我建议您创建一个“瘦”对象,它是您在 Storyboard场景中指定的类。然后,您可以创建其他对象类(使用继承)来使用委托(delegate)模式实现 View Controller 功能。然后,您可以在运行时实例化适当的委托(delegate)实例。

关于ios - 以编程方式将自定义类名称设置为 Storyboard,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28622596/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com