下面是一個代碼示例,它引起了一些痛苦,並想知道是否有人可以提供幫助。我想在構造函數中設置類的'版本'屬性,因爲它使用了很多處理(所以不想在每次另一個類獲得屬性時重新計算它)。命名返回屬性值的私有方法
如果我正確地命名該方法(未暴露給其他類),我將其稱爲- (NSString *)version
而不是getVersion
。然而,那麼它將成爲這個班的吸氣者。
所以我的問題是,下面的代碼包含一個錯誤地使用術語'get'作爲前綴的方法,但如果我刪除get,那麼突然內部方法變成公共getter,我不想要它是。
有誰知道避免這種情況的最佳做法?
#pragma mark Constructor
- (id)init
{
self = [super init];
if (self) {
// Initialization code here
self.version = [self getVersion];
}
return self;
}
#pragma mark General
- (NSString *)getVersion
{
// some computation to work out version
}
'[self computedVersion]'? –
'版本'是一個公共屬性? – nhgrif
我認爲如果你調用'permformSelector:@selector(getVersion)'方法將會被調用...... – Francesco