我对iOS区块有疑问;

MASConstraint.h(iOS第三方库)中

有一个方法定义:

- (MASConstraint * (^)(id attr))equalTo  ;


我无法使用方法找到参数,

但我可以看到许多人将其用于:

[subViews mas_makeConstraints:^(MASConstraintMaker *make) {
    make.edges.equalTo(self.view);
}];


我不明白,因为我认为方法(equalTo方法)没有形式参数。

但是为什么代码make.edges.equalTo(self.view)为true?

我需要你的帮助,非常感谢。

最佳答案

(MASConstraint * (^)(id attr))equalTo是一个函数指针定义,返回值为MASConstraint,它采用一个参数(它是一个“ id”对象),可以表示任何称为attr的对象类型

因此equalTo是变量,可以像函数一样使用它,因此对于make.edges.equalTo(self.view),参数为self.view,equalTo返回MASConstraint对象

关于ios - 如何在iOS程序中使用equalTo方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30496576/

10-11 06:07