2010-11-29 70 views

回答

2

您可以使用一種稱爲「類,」功能,它允許您可以通過向其添加屬性和方法來擴展現有的類。

通常,您將類的.m文件中的空類別用於私有方法和屬性,並在受保護成員的外部.h文件中定義單獨的命名類別。類別其實很有意思,它們允許你用覆蓋現有的屬性。因此,舉例來說,你可以定義爲只讀在.h文件中的屬性:

@interface Whatever { 
    NSObject *aValue; 
} 

@property (nonatomic,retain,readonly) NSObject *aValue; 

@end 

然後你可以把它讀/寫在一個空類的.m文件裏面你自己私人使用:

@interface Whatever() 
    @property (nonatomic,retain) NSObject *aValue; 
@end 

您可以找到更多關於類別here

+3

這不是一個類別;這是一個類擴展。類擴展和類別是相似的,但擴展有微妙的,但重要的(和設計),在使用方面比@property類別的差異。 – bbum 2010-11-29 22:46:32

6

如果你想從在.h文件中可見隱藏它,考慮在.m文件使用專用類延伸:

@interface YourClass() 

@property(retain, nonatomic)NSString*str; 

@end