这两种语法类型有什么区别? (目标-C)

发布于 2024-12-09 22:57:28 字数 401 浏览 1 评论 0原文

我只是想了解这种类型的语法,

我知道例如

[instanceOfClass  Method];

[myImage setImage:[NSImage imageNamed:@"picture.jpg"]];

对类的实例执行方法。

但这是如何工作的..

Variable = [Class methodName];

例如。 int Value = [sender intValue];

有人可以向我解释一下吗?我知道第一个示例对类、类或变量的实例执行一个方法。

但是后一部分是如何工作的呢?

非常感谢。

I'm just trying to get my head around this type of syntax

I know that the

[instanceOfClass  Method];

eg. [myImage setImage:[NSImage imageNamed:@"picture.jpg"]];

performs a method on the instance of the class.

but how does this work..

Variable = [Class methodName];

eg. int Value = [sender intValue];

can someone explain this to me. I get that the first example performs a method on instance of class, class or variable..

but how does the latter part work?

Thank you very much.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

我早已燃尽 2024-12-16 22:57:28

有实例方法(使用 - 定义)和类方法(使用 + 定义)。实例方法在实例中调用,类方法在类中调用。

- (void)instanceMethod;
+ (void)classMethod;

除此之外,你的例子:

int Value = [sender intValue];

似乎是一个实例方法。如果它在操作中,请记住 sender 只是一个参数:

- (IBAction)startWork:(id)sender
{
  ...
}

There are instance methods (defined with a -) and class methods (with a +). Instance methods are called in instances and class methods in classes.

- (void)instanceMethod;
+ (void)classMethod;

Apart from this, you example:

int Value = [sender intValue];

Seems to be an instance method. If it's inside an action, keep in mind sender is just an argument:

- (IBAction)startWork:(id)sender
{
  ...
}
空气里的味道 2024-12-16 22:57:28

第二个示例还在类的实例上执行一个方法,但该方法返回一个分配给等式左侧的值的值。

我建议花一点时间阅读 Apple 提供的介绍。这个具体问题是 文档这部分讨论了

与标准 C 函数一样,方法可以返回值。下列
如果 myRectangle 绘制为 a,则示例将变量 isFilled 设置为 YES
实心矩形,如果仅以轮廓形式绘制,则为“否”。

BOOL 已填充;

isFilled = [myRectangle isFilled];

The second example also performs a method on an instance of a class, but that method returns a value which is assigned to the value on the left side of the equation.

I'd recommend spending a little time reading the introduction provided by Apple. This specific question is discussed in this part of the document:

Like standard C functions, methods can return values. The following
example sets the variable isFilled to YES if myRectangle is drawn as a
solid rectangle, or NO if it’s drawn in outline form only.

BOOL isFilled;

isFilled = [myRectangle isFilled];
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文