因此,我今天更新到Xcode 6 beta 5,并注意到我在Apple类的几乎所有子类中都收到了错误。
错误状态:
类“ x”未实现其超类的必需成员
这是我选择的一个示例,因为该类目前非常轻便,因此易于发布。
class InfoBar: SKSpriteNode { //Error message here
let team: Team
let healthBar: SKSpriteNode
init(team: Team, size: CGSize) {
self.team = team
if self.team == Team.TeamGood {
healthBar = SKSpriteNode(color: UIColor.greenColor(), size:size)
}
else {
healthBar = SKSpriteNode(color: UIColor.redColor(), size:size)
}
super.init(texture:nil, color: UIColor.darkGrayColor(), size: size)
self.addChild(healthBar)
}
}
所以我的问题是,为什么我会收到此错误,我该如何解决?我没有执行什么?我正在呼叫指定的初始化程序。
来自开发人员论坛上的Apple员工:
“向编译器和内置程序声明您确实不希望与NSCoding兼容的方法是执行以下操作:”
required init(coder: NSCoder) {
fatalError("NSCoding not supported")
}
如果您知道自己不想遵守NSCoding,则可以选择这种方法。我已经在很多SpriteKit代码中采用了这种方法,因为我知道我不会从情节提要中加载它。
您可以采用的另一种效果很好的方法是将该方法实现为一种方便的初始化,如下所示:
convenience required init(coder: NSCoder) {
self.init(stringParam: "", intParam: 5)
}
请注意中对初始化程序的调用self
。与所有非可选属性相反,这使您只需要对参数使用伪值,同时避免引发致命错误。
第三个选项当然是在调用super时实现该方法,并初始化所有非可选属性。如果对象是从情节提要中加载的视图,则应采用以下方法:
required init(coder aDecoder: NSCoder!) {
foo = "some string"
bar = 9001
super.init(coder: aDecoder)
}
我正在制作一个定制的盔甲,在我的盔甲课程中我得到了这个错误: ArmorE类型的方法getArmorTexture(ItemStack,Entity,int,int)必须重写或实现超类型方法 为什么我会犯这个错误? 这是我的代码: 装甲等级: 主类的一部分:
本文向大家介绍Python 实现子类获取父类的类成员方法,包括了Python 实现子类获取父类的类成员方法的使用技巧和注意事项,需要的朋友参考一下 大家好,今天在写代码的时候,遇到了这样一种情况。我有如下所示的几个类用来存放程序配置(其实当做命名空间来用,同时感觉能够继承方便一点), 然后我在子类中想要访问父类的类成员变量,而且这两个类都是只有类成员变量。感觉目前我使用的方法笨一点,就是直接引用父
然后我调用子类中的方法。 我希望有一个对象创建的基础上,子类已经被调用,如果这是有意义的?
我是Android和Java的初学者。我寻找这个错误的答案,但stackOverflow中的任何东西都不适合我的情况。我在读一本书,书中说我们需要使用一个onListItemClick()方法,该方法来自我们创建的扩展ListFragment的类(CrimeListFragment)(使用该方法和类是必需的)。 然而,我不断发现以下错误: 错误说 “CrimeListFragment类型的onLi
问题内容: 是否可以将带有JAXB注释的类实例封送 为其超类 (这也是一个具有JAXB注释的类)? 和扩展类型: 因此,如果出现这种情况: 然后我想将 实例 b 作为 BenmaningTYPE封送, 以获取 而且 不是 : 如果可能的话,元帅的调用会是什么样子? 问题答案: 我没有检查过,但我会先尝试: 如果要从XML模式生成类,请同时检查copyable插件。您可以将数据从的实例复制到该实例并
新增net.wendal.nutzbook.service.AuthorityService类 package net.wendal.nutzbook.service; import net.wendal.nutzbook.bean.Role; import net.wendal.nutzbook.bean.User; public interface AuthorityService {