我只想试着理解这种语法
我知道
[instanceOfClass Method];
例如。 [myImage setImage:[NSImage imageNamed:@"picture.jpg"]];
对类的实例执行方法。
但这是如何运作的..
Variable = [Class methodName];
例如。 int Value = [sender intValue];
有人可以向我解释这个。我得到的是第一个示例在类,类或变量的实例上执行方法。
但后一部分如何运作?
非常感谢。
答案 0 :(得分:4)
有实例方法(使用-
定义)和类方法(使用+
)。实例方法在类中的实例和类方法中调用。
- (void)instanceMethod;
+ (void)classMethod;
除此之外,你举例:
int Value = [sender intValue];
似乎是一个实例方法。如果它在一个动作中,请记住sender
只是一个参数:
- (IBAction)startWork:(id)sender
{
...
}
答案 1 :(得分:3)
第二个示例还对类的实例执行方法,但该方法返回一个值,该值分配给等式左侧的值。
我建议花一点时间阅读introduction provided by Apple。这个具体问题是discussed in this part of the document:
与标准C函数一样,方法可以返回值。下列 如果将myRectangle绘制为a,则示例将变量isFilled设置为YES 实心矩形,如果仅以轮廓形式绘制,则为NO。
BOOL isFilled; isFilled = [myRectangle isFilled];