1
我有一个关于在Objective-C中修改实例变量的子类&的查询。在子类中修改变量
假设我有类说一个与.H & .M
@interface A : NSObject
@property(nonatomic, retain) NSString *myVariable;
@end
@implementation A
-(void)viewDidLoad
{
[super viewDidLoad];
[email protected]"123";
}
@end
A有两个子说乙 & Ç
@interface B : A
{
}
@end
@implementation B
-(void)viewDidLoad
{
[super viewDidLoad];
self.myVariable = @"Modified Here";
}
@end
现在,当我尝试访问'myVariable'的子类C
@interface C : A
{
}
@end
@implementation C
- (void)viewDidLoad
{
[super viewDidLoad];
NSLog(@"Value is : %@",self.myVariable);
}
@end
在日志中我发现值为:123
谁能帮助我了解为什么我没有得到这在B级被修改变种的“MYVARIABLE”更新值
因为'C'对'B'一无所知。他们有一个共同的祖先并不重要。没有冒犯性,但似乎你应该阅读面向对象编程及其原理。 – Losiowaty
您正在记录C中继承自A的值。您将获得在A中初始化的字符串值。 –
如果您从B继承C,则会是另一回事 – Paulw11