【发布时间】:2015-05-05 13:59:00
【问题描述】:
所以我的代码有效,但我收到警告:
Null 传递给需要非空参数的被调用者
显然这是因为下面这行:
MyViewController *vc = [[MyViewController alloc] initWithCoder:nil];
MyViewController 是一个 Swift 类。我已经在其中实现了所需的initWithCoder 方法。
我的问题很简单——我应该将什么参数传递给initWithCoder 来消除警告,或者我使用什么替代init 策略?
注意:我正在初始化的视图控制器是用 Swift 编写的。然而,我正在从一个 Objective-c 类初始化它。
【问题讨论】:
-
你的标题和标签是
Swift,而你的代码是Objective-C -
你能澄清一下这个问题吗?您说您在 Swift 中初始化了一个视图控制器,并展示了使用 Objective-c 进行初始化的代码。在任何一种情况下,文档都声明了 init coder -“返回从给定 unarchiver 中的数据初始化的对象。(必需)”您没有在 Objective-c 中提供编码器。您可能还会收到与需要在 Swift 类之前添加 @objc 相关的错误。
-
进行了编辑以澄清。