例如,我见过self.someProperty
,但我从未见过self.someProperty(someParameter)
。
这有点不清楚。
说我有一个属性pinImage
- 好吧,我觉得做一些像以下的事情很酷:
self.image(@"SomeImage.png");
然而,这是不可能的,是吗?
Objective-C中的属性始终采用theObject.property
的形式。它从来没有参数。
我知道@property
表示您创建setProperty
和property
方法。这意味着setProperty
将始终具有一个参数,self.property
将始终没有参数。
我只想确保。
答案 0 :(得分:4)
您需要了解房产实际是什么。假设你声明一个这样的属性:
@property(nonatomic,retain)IBOutlet UIButton *someLabel;
当你综合它(@synthesize someLabel;
)时,你实际上是在创建一个方法,虽然它是隐藏的,看起来像这样:
-(void)setSomeLabel:(UILabel *)aSomeLabel {
if (someLabel != aSomeLabel)
{
[someLabel release];
someLabel = aSomeLabel;
[someLabel retain];
}
}
所以是的,有一个参数,但它是隐藏的。