访问对象时,Objective C属性可以具有参数吗?

问题描述

| 例如,我见过
self.someProperty
,但从未见过
self.someProperty(someParameter)
。 这有点不清楚。 假设我有房产
pinImage
-好吧,我认为做这样的事情很酷:
self.image(@\"SomeImage.png\");
但是,那是不可能的,不是吗? Objective-C中的属性始终为
theObject.property
形式。它永远不会有参数。 我知道
@property
表示您创建
setProperty
property
方法。这意味着
setProperty
总是有一个参数,而
self.property
总是没有参数。 我只是想确保。     

解决方法

        您需要了解什么是房地产。假设您声明这样的属性:
@property(nonatomic,retain)IBOutlet UIButton *someLabel;
合成它(
@synthesize someLabel;
)时,实际上是在制作一个方法,尽管它是隐藏的,但看起来像这样:
-(void)setSomeLabel:(UILabel *)aSomeLabel {
    if (someLabel != aSomeLabel)
    {
        [someLabel release];
        someLabel = aSomeLabel;
        [someLabel retain];
    }
}
是的,有一个参数,但是它是隐藏的。