[英]What is the difference between using a method and a property?
我正在研究“ The Elements”示例應用程序的源代碼,並且看到在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];
而不是element.stateImageForAtomicElementTileView
?
我認為沒有技術上的理由選擇一個成語而不是另一個,它們可以以相同的方式使用。 這更多是語義問題。
一個類既有數據,又可以執行操作(通常對所述數據)。 我認為您應該考慮使用屬性,並擁有.
訪問而不是[ ]
作為記錄stateImageForAtomicElementTileView
目的的一種方式。
這是類的一部分的圖像(事實不是從資源中即時生成的,應將其視為實現細節)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.