2016-10-09 64 views
0

屬性值我已閱讀,這樣無法讀取擴展

類擴展還專爲允許財產公開readonly,私下readwrite

所以我做了一個有CLAS abc下面的代碼:

@interface abc() 

@property (strong,nonatomic) NSString *sampleString; 

@end 

@implementation abc 


    @end 

我想在abc

我做了一個類pqr子類abc

另一個類的子類來acceess sampleStringpqr我正在嘗試訪問sampleStr但不是可以做到這一點。

@implementation cccc 

    - (void)accessPrivateMember 
{ 
    self.sampleStr ; //Not able to acces 

} 

@end 

我的方向錯了嗎?

+0

因爲'sampleString'不在類的公共接口中。在你的類的'.h'文件中聲明這個屬性。 – Adeel

+0

在abc.h中添加只讀屬性作爲@property(強,非原子,只讀)NSString * sampleString; – kaushal

回答

0

您應該將屬性放在頭文件(.h)中。在你的情況下,sampleString是私有屬性,因爲它在實現文件(.m)中。另外,如果你想要訪問私有財產,你可以使用self.valueForKey("sampleStr")

0

你應該在abc的'.h'文件中公開這個屬性。加上:

@property (strong,nonatomic) NSString *sampleString;