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