使用自定义初始化程序swift以编程方式实例化和推送视图控制器

Nwales

我想像这样快速呈现一个详细视图控制器

let detailController = MyDetailUIViewController(nibName: "MyDetailUIViewController", bundle: NSBundle.mainBundle(), data:myData)
self.navigationController?.pushViewController(detailController, animated:true)

我遇到的问题是如何为MyDetailViewController编写初始化程序:

class MyDetailUIViewController: UIViewController {

private var data: MyData

init(nibName nibNameOrNil: String!, bundle nibBundleOrNil: NSBundle!, data:MyData) {
    self.data = data
    super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
}

required init(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)
}

我收到一个错误,我的数据属性未在super.init调用中初始化。谁能解释我如何做到这一点?我确定我可以将数据属性设为可选,并在初始化后将其传递给我,但是肯定有一种方法可以使这项工作正常进行。

子软件

如果声明data变量为非可选变量,则必须确保所有init方法都将其初始化。在您的课程中情况并非如此,因为

required init(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)
}

不会激起您的兴趣data

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从类本身内部初始化自定义视图控制器?

使用自定义结构数据类型将数据传递到另一个视图控制器,需要初始化程序吗?

推送手动初始化的视图控制器会冻结应用程序

使用IBOutlet将视图控制器初始化为自定义视图

在Swift中初始化视图控制器

如何初始化自定义javafx控制器的成员变量?

Swift:实例化视图控制器以在当前导航堆栈中进行自定义过渡

以编程方式使用自定义文本初始化NSTextfield

Swift:自定义ViewController初始化程序

使用自定义初始化程序的Swift枚举会丢失rawValue初始化程序

无法使用情节提要自定义实例化窗口控制器

iOS-以编程方式切换视图控制器中的自定义动画

如何在Swift中使用XIB文件初始化/实例化自定义UIView类

以自定义tableviewcell以编程方式初始化UITableViewController的子类

如何以编程方式实例化新的视图控制器

从 fcm 推送通知实例化视图控制器

WorkManager-当我们同时使用默认初始化和自定义初始化时,是否应该删除默认初始化程序?

台风使用情节提要与视图控制器初始化程序一起使用

使用segues时,将数据传递给初始化初始化程序之前的视图控制器。(迅速)

视图控制器将无法初始化

访问视图控制器,无需重新初始化

自定义视图未初始化

如何定义运行使用自定义初始化程序的结构实例时应运行的自定义闭包(SwiftUI)

以编程方式将初始视图控制器设置为Tab控制器swift 2

为视图控制器初始化从IBoutlet变量初始化的变量?

自定义初始化程序“ initWithImage”未在视图中显示图像

如何在keras自定义正则化程序中使用初始化的图层权重?

使用情节提要中的私有属性初始化视图控制器

自定义类型需要使用auto进行初始化的初始化程序吗?