OC-链式编程

2019-03-28  本文已影响0人  SK丿希望
  • 原理:
    用block作为返回值实现的链式
  • 优点
    通过点语法直接调用
  • 缺点
    虽然点语法调出方法,但是()括号内的值需要手动敲出(即没有任何提示), 不利于快速编程,方法不熟悉还的去看方法

下面我们通过扩展UILabel来简单实现一些

使用案例

self.label.hw_setText(@"你好").hw_setfont(30);

原理

.h文件

#import <UIKit/UIKit.h>

NS_ASSUME_NONNULL_BEGIN

@interface UILabel (HWCategory)

- (UILabel *(^)(NSString *text))hw_setText;

- (UILabel *(^)(CGFloat font))hw_setfont;
@end

NS_ASSUME_NONNULL_END

.m文件

#import "UILabel+HWCategory.h"

@implementation UILabel (HWCategory)

- (UILabel * _Nonnull (^)(NSString * _Nonnull))hw_setText {
    return ^(NSString *text) {
        [self setText:text];
        return self;
    };
}

- (UILabel * _Nonnull (^)(CGFloat))hw_setfont {
    return ^(CGFloat font) {
        [self setFont:[UIFont systemFontOfSize:font]];
        return self;
    };
}
@end

Dome

上一篇 下一篇

猜你喜欢

热点阅读