栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

类未实现其超类的必需成员

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

类未实现其超类的必需成员

来自开发人员论坛上的Apple员工:

“向编译器和内置程序声明您确实不希望与NSCoding兼容的方法是执行以下操作:”

required init(prer: NSCoder) {  fatalError("NSCoding not supported")}

如果您知道自己不想遵守NSCoding,则可以选择这种方法。我已经在很多SpriteKit代码中采用了这种方法,因为我知道我不会从情节提要中加载它。


您可以采用的另一种效果很好的方法是将该方法实现为一种方便的初始化,如下所示:

convenience required init(prer: NSCoder) {    self.init(stringParam: "", intParam: 5)}

请注意中对初始化程序的调用

self
。与所有非可选属性相反,这使您只需要对参数使用伪值,同时避免引发致命错误。


第三个选项当然是在调用super时实现该方法,并初始化所有非可选属性。如果对象是从情节提要中加载的视图,则应采用以下方法:

required init(prer aDeprer: NSCoder!) {    foo = "some string"    bar = 9001    super.init(prer: aDeprer)}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/668785.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号