BBABoxParameters.h
1.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
//
// BBABoxParameters.h
//
//
// Created by Guo,Jin(MAD) on 2017/11/13.
// Copyright © 2017年 Baidu. All rights reserved.
// 手百公参规范:http://wiki.baidu.com/pages/viewpage.action?pageId=97550490
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
typedef NSString*_Nullable(^BBABoxParamBlock)(void);
@interface BBABoxParameters : NSObject
+ (instancetype)shared;
/**
* 合成公参(部分参数是动态的)
*/
- (NSString*)composeParameters;
/**
* @brief 设置公参中外部依赖的静态参数(不建议使用,推荐使用block的方式)
*
* @param param 参数值
* @param key key
*
*/
- (void)setStaticParameter:(NSString*)param forKey:(NSString*)key;
/**
* @brief 设置公参中静态参数的block(性能要求)
*
* @param block 动态参数返回block
* @param key key
*
*/
- (void)setStaticParameterBlock:(NSString* (^ __nullable)(void))block forKey:(NSString*)key;
/**
* @brief 移除公参中静态参数的block((非线程安全)
*
* @param key key
*
*/
- (void)removeStaticParameterBlockForKey:(NSString *)key;
/**
* @brief 设置公参中外部依赖的动态参数
*
* @param block 动态参数返回block
* @param key key
*
*/
- (void)setDynamicParameter:(NSString* (^ __nullable)(void))block forKey:(NSString*)key;
/**
* @brief 移除公参中动态参数的block((非线程安全)
*
* @param key key
*
*/
- (void)removeDynamicParameterForKey:(NSString *)key;
@end
NS_ASSUME_NONNULL_END