这声明是什么意思?

时间:2017-06-15 08:37:15

标签: ios objective-c

<。>文件中的

@interface HitTestTool : NSObject

CGRect HitTestingBounds(CGRect bounds, CGFloat minimumHitTestWidth, CGFloat minimumHitTestHeight);

@end

并在.m文件中:

@implementation HitTestTool

CGRect HitTestingBounds(CGRect bounds, CGFloat minimumHitTestWidth, CGFloat minimumHitTestHeight) {

    CGRect hitTestingBounds = bounds;

    if (minimumHitTestWidth > bounds.size.width) {
        hitTestingBounds.size.width = minimumHitTestWidth;
        hitTestingBounds.origin.x -= (hitTestingBounds.size.width - bounds.size.width)/2;
    }

    if (minimumHitTestHeight > bounds.size.height) {
        hitTestingBounds.size.height = minimumHitTestHeight;
        hitTestingBounds.origin.y -= (hitTestingBounds.size.height - bounds.size.height)/2;
    }

    return hitTestingBounds;
}

所以我很困惑,是一个方法还是一个属性?我以前从未见过这个。

它似乎是一种方法,但正确的格式如下:

- (void) foo;

或类似的财产:

@property (nonatomic,strong) some property;
像这样,对吧?

那么编写CGRect方法的方法是什么?

1 个答案:

答案 0 :(得分:1)

此处CGRect HitTestingBounds(CGRect bounds, CGFloat minimumHitTestWidth, CGFloat minimumHitTestHeight);是一种功能,而不是财产。

函数是与对象/类无关的代码块,只是从C继承而来。但是方法附加到类/实例(对象)