Masonry:为何返回id而不是instancetype?另外with,返回self。为何会增加可读性?

jogging20
  • 47

问题1:

@implementation MASConstraintMaker

- (id)initWithView:(MAS_VIEW *)view {
    self = [super init];
    if (!self) return nil;
    
    self.view = view;
    self.constraints = NSMutableArray.new;
    
    return self;
}

为何返回id而不是instancetype?
明显是返回MASConstraintMaker,应该用instncetype校验返回的类型吧?

问题2:

/**
 *  Optional semantic property which has no effect but improves the readability of constraint
 */
// 可选的语义属性,它不起作用,但提高了约束的可读性
- (MASConstraint *)with; 

怎么增加可读性了 ?

 make.left.equal(view).with.offset(30)
 make.left.equal(view).offset(30)

我怎么感觉后者可读性更好呢?多了with不是有点画蛇添足?

回复
阅读 329
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏