ios - 这个声明是什么意思?

标签 ios objective-c

.h文件中:

@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 Method的写法是什么?

最佳答案

这里CGRect HitTestingBounds(CGRect边界,CGFloatminimumHitTestWidth,CGFloatminimumHitTestHeight);是一个函数而不是一个属性。

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

关于ios - 这个声明是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44562696/

相关文章:

ios - 获取代码覆盖率统计 IOS

objective-c - 更改 CIFilter 的工作色彩空间

ios - 在 TableView 中分组

ios - (Swift) UIImageView 不显示/不可见

ios - [cell viewWithTag :] is always returned as nil 中的标签

objective-c - DEBUG宏在哪里定义的?

ios - 在 UITextField 中输入内容后 UIView 消失?

iOS 切换回后台 UIViewController

objective-c - Modal UINavigationController 隐藏但不关闭

objective-c - 了解自定义委托(delegate)