当前位置: 首页 > 知识库问答 >
问题:

在尝试将segue或实例化到vc时获取初始化错误

芮宇航
2023-03-14

因此,我的目标是将数据传输到Stripe为其API提供的CheckOutViewController()。因此,正常情况下,我转到storyboards并将一个新的vc与CheckoutViewController()类连接起来,这样我就可以从另一个vc转到它并进行数据传输。

在此之前,我只是在推动vc,它工作正常,并且知道我可以实例化它并进行数据传输,但即使当我尝试这样做时,我也会得到一个致命的错误:

Fatal error: init(coder:) has not been implemented

这是我在checkoutvc中的代码:

let paymentContext: STPPaymentContext?
let config: STPPaymentConfiguration

let customerContext = STPCustomerContext(keyProvider: MyAPIClient())

init() {
    let config = STPPaymentConfiguration()
    let paymentContext = STPPaymentContext(customerContext: customerContext, configuration: config, theme: .defaultTheme)
    config.requiredBillingAddressFields = .name
    self.paymentContext = paymentContext
    self.config = config
    super.init(nibName: nil, bundle: nil)
    self.paymentContext?.delegate = self
    self.paymentContext?.hostViewController = self
}

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

我更改了required init是因为我读了这篇关于init错误的文章,但现在它在运行之前就给出了一个错误:

Property 'self.paymentContext' not initialized at super.init call

在我将这个类连接到故事板中的vc之前,这一切都是正常的,但我实际上没有选择,我需要做一个数据传输,以便用户支付正确的金额。我不明白self.paymentcontext是怎么没有初始化的,我以前很好地使用过它。有人知道我该怎么解决这个问题吗?

共有1个答案

孙帅
2023-03-14

出故事板时,调用的是initWithCoder:而不是您的init()函数,initWithCoder的实现在初始化所有属性之前调用super

创建一个名为commonInit的函数并让所有不同的initWith调用commonInit可能会有帮助,这样您的视图控制器就可以编程地或从nibs等实例化

 类似资料:
  • 问题内容: 当我尝试获取懒惰的初始化实体时,我在IDE中看到以下异常消息(我无法找到它在代理实体中的存储位置,因此无法为该异常提供整个堆栈跟踪): 这是我尝试访问要使用的惰性初始化实体的字段后得到的堆栈跟踪: 我正在使用Spring Data,已配置JpaTransactionManager,数据库是MySql,ORM提供程序是Hibernate4。注释@EnableTransactionMana

  • 我正在为StandardAlone java类编写一个Junit测试用例。我在初始化Class对象时获取nullPointerException。这是我的代码。非常感谢任何帮助 这是我的课

  • 本文向大家介绍tensorflow 初始化未初始化的变量实例,包括了tensorflow 初始化未初始化的变量实例的使用技巧和注意事项,需要的朋友参考一下 今日在Stack Overflow上看到一个问如何只初始化未初始化的变量,有人提供了一个函数,特地粘贴过来共大家品鉴: 通过tf.global_variables()返回一个全局变量的列表global_vars, 然后以python列表解析式的

  • 第一次使用http和改装。我正在使用另一个员工的代码,但不能使其工作,即使在进入互联网检查潜在的错误之后。 使用上面的BASE_URL声明,并将其改为null。 错误是 E/AndroidRuntime:致命异常:主进程:,PID:5305 java。lang.Exception初始化错误

  • 问题内容: 我试图将JVM中的初始化和实例化过程组合在一起,但是JLS在一些细节上有点笨拙,因此,如果有人介意清理一些细节,将不胜感激。到目前为止,这是我能够弄清楚的。 初始化 递归初始化该类及其接口的静态最终变量,这些变量是编译时间常数。 从递归中退出,按文本顺序处理静态块和静态字段。 实例化 递归初始化作为编译时间常数的类的最终实例变量。 按文本顺序退出递归处理非静态块和实例字段,并在返回时将

  • 当我尝试初始化Firebase Cloud Firestore时,我遇到了以下错误: 未捕获的类型错误:webpack_imported_module_0_firebase.firestore不是函数 我以前用安装了firebase。