gpt4 book ai didi

Swift,无法实例化 NSCoding 兼容类

转载 作者:可可西里 更新时间:2023-11-01 00:59:54 27 4
gpt4 key购买 nike

我一直在使用 NSCoding 遇到障碍。具体来说,实例化一个符合NSCoding的类。也许我遗漏了一些非常明显的东西,但我还没有找到任何答案。

``` swift

class TitleTextField: UITextField, UITextFieldDelegate {



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

font = UIFont(name: "Helvetica-Neue", size: 25)

}

```

这只是一个例子,一个简单的例子。当我尝试在其他地方实例化此类时,例如“let textField = TitleTextField()”之类的东西(抱歉不知道如何格式化)我收到错误“调用中参数‘coder’缺少参数”。当我尝试使用建议的 TitleTextField(coder: NSCoder) 修复它时,它抛出一个错误并告诉我删除“coder:”,然后它抛出另一个错误并说“无法转换类型 '(NSCoder).Type' 的值(又名 'NSCoder.Type') 到预期的参数类型 'NSCoder'"

如何实例化这个类?

这给我带来了麻烦,我创建了一个自定义类,该类在遵循几个不同的示例后也符合 NSCoding。

最佳答案

这真的很简单 - 您需要添加另一个指定的初始化程序,通常是 init(frame:) 用于 UIView。实际上,您可以在其中调用 super.init(...)

问题是,一旦你添加了一个初始化器,其他初始化器就不再从父类(super class)继承,你必须定义它们。

关于Swift,无法实例化 NSCoding 兼容类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36094801/

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