链式编程

#import "ViewController.h"

@interface ViewController ()
@property (nonatomic, copy) NSString *name;
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    // 链式 : 点语法 串联 操作
    self.name; // 点语法 - getter -
    self.where;
    self.select;
    
    NSLog(@"%@",self.where.select(@"段友好!!!")); // 消息发送 带有参数   
}

- (void)setName:(NSString *)name {
    NSLog(@"name的set方法");
}

- (NSString *)name {
    NSLog(@"name的get方法");
    return @"dyz_name";
}

- (ViewController *)where{
    NSLog(@"天王盖地虎");
    return self;
}

- (NSString *(^)(NSString *))select{
    NSLog(@"小鸡炖蘑菇");
    
    NSString *(^myBlock)(NSString *) = ^(NSString *word) {
        NSLog(@"%@",word);
        return @"一家亲";
    };
    return myBlock;
}

@end

2019-04-23 19:14:47.250438+0800 001--链式编程[31609:1806513] name的get方法
2019-04-23 19:14:47.250587+0800 001--链式编程[31609:1806513] 天王盖地虎
2019-04-23 19:14:47.250667+0800 001--链式编程[31609:1806513] 小鸡炖蘑菇
2019-04-23 19:14:47.250736+0800 001--链式编程[31609:1806513] 天王盖地虎
2019-04-23 19:14:47.250798+0800 001--链式编程[31609:1806513] 小鸡炖蘑菇
2019-04-23 19:14:47.250883+0800 001--链式编程[31609:1806513] 段友好!!!
2019-04-23 19:14:47.250949+0800 001--链式编程[31609:1806513] 一家亲

你可能感兴趣的:(链式编程)