草庐IT

overriding

全部标签

ios - Swift:属性未在 super.init 调用时初始化

我正在制作一个小的自定义键盘,我在类中有一组变量需要在“overrideinit()”中进行初始化,如下所示:classKeyboardViewController:UIInputViewController{varbutton01:CharacterButtonvarbutton02:CharacterButton...和overrideinit(){//Initializebuttonsandassignattributesbutton01=CharacterButton.createButton("Q",labelOfButton:"Q")button02=CharacterBu

ios - Swift:属性未在 super.init 调用时初始化

我正在制作一个小的自定义键盘,我在类中有一组变量需要在“overrideinit()”中进行初始化,如下所示:classKeyboardViewController:UIInputViewController{varbutton01:CharacterButtonvarbutton02:CharacterButton...和overrideinit(){//Initializebuttonsandassignattributesbutton01=CharacterButton.createButton("Q",labelOfButton:"Q")button02=CharacterBu

ios - 在 Swift 中覆盖子类中的属性的正确方法是什么?

我也偶然发现了这个问题,然而,没有明确的答案"Ambiguoususeof'propertyName'"errorgivenoverriddenpropertywithdidSetobserver问题:我想覆盖子类中的属性。让我用一个例子来说明这个问题:我有一个名为A的类及其一个名为B的子类。A类classA{varsomeStoredProperty:Int?}B类classB:A{overridevarsomeStoredProperty:Int?{willSet{//addtosuperclass'ssettersomeStoredProperty=newValue!+10}}}

ios - 在 Swift 中覆盖子类中的属性的正确方法是什么?

我也偶然发现了这个问题,然而,没有明确的答案"Ambiguoususeof'propertyName'"errorgivenoverriddenpropertywithdidSetobserver问题:我想覆盖子类中的属性。让我用一个例子来说明这个问题:我有一个名为A的类及其一个名为B的子类。A类classA{varsomeStoredProperty:Int?}B类classB:A{overridevarsomeStoredProperty:Int?{willSet{//addtosuperclass'ssettersomeStoredProperty=newValue!+10}}}

ios - override init 和 required init 之间的区别? - swift

我有时会看到这样的View,其中在两个不同的初始化方法中有相同的setup()函数。init方法之间的区别是什么?为什么在这两个方法中调用相同的setup()?classBigButton:UIButton{overrideinit(frame:CGRect){super.init(frame:frame)setup()}requiredinit?(coder:NSCoder){super.init(coder:coder)setup()}fileprivatefuncsetup(){//setupstuff}} 最佳答案 over

ios - override init 和 required init 之间的区别? - swift

我有时会看到这样的View,其中在两个不同的初始化方法中有相同的setup()函数。init方法之间的区别是什么?为什么在这两个方法中调用相同的setup()?classBigButton:UIButton{overrideinit(frame:CGRect){super.init(frame:frame)setup()}requiredinit?(coder:NSCoder){super.init(coder:coder)setup()}fileprivatefuncsetup(){//setupstuff}} 最佳答案 over

覆盖实例变量的默认值

给定类Obj,classObj:NSObject{varx="x"}及其子类Obj1,如何更改varx的默认值?简单地设置一个新值最有意义,但它似乎出错了......classObj1:Obj{varx="y"}❗️Cannotoverridewithastoredproperty'x' 最佳答案 在大多数情况下,通过init注入(inject)这些值是首选方式。例如:classFoo{varx:Stringconvenienceinit(){self.init(x:"x")//'x'bydefault}init(x:String)

覆盖实例变量的默认值

给定类Obj,classObj:NSObject{varx="x"}及其子类Obj1,如何更改varx的默认值?简单地设置一个新值最有意义,但它似乎出错了......classObj1:Obj{varx="y"}❗️Cannotoverridewithastoredproperty'x' 最佳答案 在大多数情况下,通过init注入(inject)这些值是首选方式。例如:classFoo{varx:Stringconvenienceinit(){self.init(x:"x")//'x'bydefault}init(x:String)

ios - 如何使用 Xcode 6.3 Beta2 在 Swift 中覆盖 SuperClass 的 setter?

我的SuerClass是UICollectionViewCell,它有一个属性:varselected:Bool我的类(class)是MyClass:UICollectionViewCell{funcsetSelected(selected:Bool){super.selected=selected//dosomething}}前者在Xcode6.2中运行良好,但在Xcode6.3Beta2中会引发错误:Method'setSelected'withObjective-Cselector'setSelected:'conflictswithsetterfor'selected'from

ios - 如何使用 Xcode 6.3 Beta2 在 Swift 中覆盖 SuperClass 的 setter?

我的SuerClass是UICollectionViewCell,它有一个属性:varselected:Bool我的类(class)是MyClass:UICollectionViewCell{funcsetSelected(selected:Bool){super.selected=selected//dosomething}}前者在Xcode6.2中运行良好,但在Xcode6.3Beta2中会引发错误:Method'setSelected'withObjective-Cselector'setSelected:'conflictswithsetterfor'selected'from