我只是想確保我對財產繼承的理解是正確的。我目前正在試圖製作一個UIViewController的子類。在我的UIViewController我所有的網點,如在像這樣實現部分聲明:Objective-C私有財產繼承
@interface BaseClass()
@property (weak, nonatomic) IBOutlet UILabel *scoreLabel;
@end
因此這些屬性然後私人的,對嗎?現在,當我嘗試創建一個子類並使用我的getter和setter訪問這些屬性時,我無法從我的子類訪問它們。在我的子類的實現部分中重新聲明這些屬性的正確形式是這樣嗎?
@interface SubClass()
@property (weak, nonatomic) IBOutlet UILabel *scoreLabel;
@end
我想我可以這樣做,但後來我覺得它毀了繼承的目的。什麼是正確的方式/我做錯了什麼?
您是「確定與做這種方式」 ** **提供你從來沒有直接引用屬性支持變量。你正在做的是創建兩個不同的屬性,每個屬性都有自己的支持變量。但是,由於在SubClass的一個實例中覆蓋了對屬性的任何引用,所以即使從'BaseClass'中定義的方法引用子類屬性。但是,如果在'BaseClass'方法中直接引用屬性支持變量,它將不會更改'SubClass'實例的屬性值...請參閱其他方法的@InsertWittyName答案。 – CRD