2010-11-09 91 views
1

我學習的「元素」示例應用程序的源代碼,我看到,在AtomicElement.h有四個屬性聲明爲只讀:使用方法和屬性有什麼區別?

@property (readonly) UIImage *stateImageForAtomicElementTileView; 
@property (readonly) UIImage *flipperImageForAtomicElementNavigationItem; 
@property (readonly) UIImage *stateImageForAtomicElementView; 
@property (readonly) CGPoint positionForElement; 

在實現文件中,它們看起來像

- (UIImage *)stateImageForAtomicElementTileView { 
    return [UIImage imageNamed:[NSString stringWithFormat:@"%@_37.png",state]]; 
} 

你能否詳細說明這樣做的理由?爲什麼不使用類似

- (UIImage*) stateImageForAtomicElementTileView; 
在頭文件

,然後訪問它像[element stateImageForAtomicElementTileView];代替element.stateImageForAtomicElementTileView

回答

0

我不認爲有一個技術理由選擇一個成語而不是另一個,它們都可以以相同的方式使用。這更多的是語義問題。

一個類既有數據又可以執行操作(通常在所述數據上)。我認爲你應該考慮使用一個財產,並且使用.而不是[ ]作爲記錄stateImageForAtomicElementTileView目的的一種方式。

這是那類的部分(事實豈不等於正從一個資源實時生成應該被看作是一個實現細節)

+0

好,我很高興與答案:)圖像 – phi 2010-11-10 14:03:49

相關問題