从父类继承属性

T.本杰明·拉森

我认为这是100%直截了当而且我感觉比有点哑成立现在。我有一个带有公共财产NSObject基础班NORPlayer

@property (nonatomic, strong) NSArray *pointRollers;

但是,这不是子类继承的。数组是这样设置的,它可以正常工作:

家长班:

@implementation NORPlayer

- (instancetype)init{
    self = [super init];
    if (self) {
        [self setup];
    }
    return self;
}


- (void)setup{
    NSMutableArray *tempRollersArray = [[NSMutableArray alloc] init];
    for (NSUInteger counter = 0; counter < 5; counter++) {
        NORPointRoller *aRoller = [[NORPointRoller alloc] init];
        [tempRollersArray addObject:aRoller];
    }
    _pointRollers = [NSArray arrayWithArray:tempRollersArray];
}

当试图从创建一个子类NORPlayerNORVirtualPlayer然而事情就会出差错:

子类:

#import "NORPlayer.h"

@interface NORVirtualPlayer : NORPlayer

// none of the below properties nor the method pertains to the problem at hand
@property (nonatomic, assign) NSArray *minimumAcceptedValuePerRound;
@property (nonatomic, assign) NSUInteger scoreGoal;
@property (nonatomic, assign) NSUInteger acceptedValueAdditionWhenScoreGoalReached;

- (void)performMoves;

@end

的初始化NORVirtualPlayer是通过调用setup方法的init方法镜像其父类:

@implementation NORVirtualPlayer

- (instancetype)init{
    self = [super init];
    if (self) {
        [self setup];
    }
    return self;
}


- (void)setup{
    self.minimumAcceptedValuePerRound = @[ @5, @5, @5, @5, @5 ];
    self.scoreGoal = 25;
    self.acceptedValueAdditionWhenScoreGoalReached = 0;
}

问题在于NORVirtualPlayer实例永远不会获得启动pointRollers属性。我已经完成了所有步骤,并在parentClass和子类中调用了setup方法。

感觉上这肯定是一个相当基本的问题,但是我无法解决这个问题。任何帮助将不胜感激。干杯!


解决方案:如下所述。令人尴尬,但仍然开心。首先到达Putz1103真的很荣幸。我认为超级的设置将通过其初始化方法调用,但并不是很明显...

Ansible

我看不到从NORVirtualPlayer调用您的NORPlayer的设置,这是初始化数组的地方。

- (void)setup{
    self.minimumAcceptedValuePerRound = @[ @5, @5, @5, @5, @5 ];
    self.scoreGoal = 25;
    self.acceptedValueAdditionWhenScoreGoalReached = 0;
}

您是否也要调用超级设备的设置?

- (void)setup{
    [super setup];
    self.minimumAcceptedValuePerRound = @[ @5, @5, @5, @5, @5 ];
    self.scoreGoal = 25;
    self.acceptedValueAdditionWhenScoreGoalReached = 0;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

编辑从父类继承的变量

来自分类Dev

对象从父对象继承属性

来自分类Dev

从父类函数继承属性,而不执行其余的父类函数

来自分类Dev

如何从父类继承__init__属性到子类的__init__?

来自分类Dev

从父类继承属性,而无需在PHP中再次调用父方法

来自分类Dev

如何为从父级继承的所有类共享相同的属性

来自分类Dev

无法从父级继承表格属性

来自分类Dev

Python类-属性继承

来自分类Dev

访问继承类的属性

来自分类Dev

属性继承类

来自分类Dev

是否可以从父类访问子类的属性?

来自分类Dev

从父类到子类中提取属性

来自分类Dev

如何从父类调用方法和属性?

来自分类Dev

如何使继承从父类到子类python34工作

来自分类Dev

ProtoBuf-Net:从父类继承object []类型的[ProtoMember]

来自分类Dev

无法在C ++中从父类到子类继承数据

来自分类Dev

Rails api控制器不会从父类继承方法

来自分类Dev

不了解应从父类继承的AttributeError的原因

来自分类Dev

从父类继承的子类不会改变颜色

来自分类Dev

ES6 OOP 从父类继承方法

来自分类Dev

从父类继承的子类中的函数使用那个变量?

来自分类Dev

试图从父类继承变量“NameError: name 'r' is not defined”

来自分类Dev

从类A调用类B并继承类A的属性?

来自分类Dev

确定继承属性的基类

来自分类Dev

继承:来自父类的属性

来自分类Dev

从父类访问属性时未定义的属性

来自分类Dev

从父类访问属性时未定义的属性

来自分类Dev

继承一些,但不是从父类的构造函数继承所有参数?蟒蛇

来自分类Dev

类继承,将Ruby中的类类型从父级更改为子级