[英]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.