IOS_編程思想_鏈式編程練習

在之前的兩篇文章中已經簡單的介紹了IOS的編程思想,那在此處寫一個鏈式編程的聯系來加深對鏈式編程思想的理解?。。?/p>


First創建一個Category的分類
NSObject+Sum.h

#import <Foundation/Foundation.h>
#import "SumManager.h"
@interface NSObject (Sum)
//將所有計算的方法放在里面
- (int)BC_MakeSum:(void(^)(SumManager *mgr))block;
@end

NSObject+Sum.m

#import "NSObject+Sum.h"
@implementation NSObject (Sum)
- (int)BC_MakeSum:(void(^)(SumManager *mgr))block {
//    1.創建mgr
    SumManager *mgr = [[SumManager alloc] init];
//    2.調用block
    block(mgr);
//    3.管理者mgr的result屬性就有值了
    return mgr.result;
}
@end

Second創建一個SumManager的管理者
SumManager.h

#import <Foundation/Foundation.h>
@interface SumManager : NSObject
@property (nonatomic,assign) int result;
- (SumManager *(^)(int value))add;
@end

SumManager.m

#import "SumManager.h"
@implementation SumManager
- (SumManager *(^)(int value))add {
    return ^(int value) {
        _result += value;
        return self;
    };
}
@end

在ViewController里可以調用使用

#import "ViewController.h"
#import "NSObject+Sum.h"

@implementation ViewController
- (void)viewDidLoad {
    [super viewDidLoad];
   
    int result = [self BC_MakeSum:^(SumManager *mgr) {
        mgr.add(10).add(20);
    }];
//  mgr.add(10).add(20)...
    NSLog(@"現在的結果為:%d",result);
}
@end
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 轉至元數據結尾創建: 董瀟偉,最新修改于: 十二月 23, 2016 轉至元數據起始第一章:isa和Class一....
    40c0490e5268閱讀 1,768評論 0 9
  • *面試心聲:其實這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個offer,總結起來就是把...
    Dove_iOS閱讀 27,210評論 30 471
  • 發現 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,229評論 4 61
  • 一直覺得,書有香氣,文字有靈氣,放一本于床頭,淡淡的氣質盈眸,使心安寧。邂逅一本好書,邂逅一段傾心文字,恰如邂逅一...
    頹廢的生活閱讀 323評論 0 0
  • 春花秋實007閱讀 122評論 0 0