0

Objective C 中调用的以下结构是什么,

CG_INLINE CGRect
CGRectMake(CGFloat x, CGFloat y, CGFloat width, CGFloat height)
{
  CGRect rect;
  rect.origin.x = x; rect.origin.y = y;
  rect.size.width = width; rect.size.height = height;
  return rect;
}

我想创建自己的定义,以创建一个包含我传递的多个参数的对象。目前我在一个类中使用一个静态方法,它需要多个参数并返回一个对象。但是 CGRectMake 的这种语法是我可以使用的完美解决方案。Objective C 语法中实际调用的结构是什么?

4

1 回答 1

6

CGRectMake()是一个函数。函数是 C 语言的特性,不是 Objective-C 独有的。因此,它们在 Objective-C 中没有特殊的名称。它们被称为 C 函数。

如果您要询问这种看似神秘的语法:

CG_INLINE CGRect
CGRectMake(CGFloat x, CGFloat y, CGFloat width, CGFloat height)
  1. CG_INLINE是一个特殊的标记,它只是将函数声明为内联。CG_INLINE你可以在这个问题中找到描述:

    CG_INLINE 是做什么的?

  2. CGRect是返回类型。后面的换行符只是空格;在 C 语言中,在函数定义中的返回类型之后换行是一种常见的代码格式约定。

  3. CGRectMake是函数名。

  4. 接下来是它的参数列表和函数体。

如果你想创建一个函数,你可以将它的定义放在你的文件中,并在.m文件中加上相应的前向声明.h

于 2012-04-27T10:55:30.853 回答