我的问题非常简单。从方法或函数或块本身返回块时,如何将返回的块传递给接收返回块的变量?
答案 0 :(得分:1)
我的问题非常简单。从方法或函数返回块或块本身时,如何将返回的块传递给接收返回块的变量?
你如何通过那次回归"任何类型的价值?
指派。
返回一个块没有什么特别之处,它只是一个值 - 在这种情况下是一个块对象的指针值 - 它被返回并分配给一个变量,就像任何其他值一样。如果返回值是,例如,double
类型将其存储在相同类型的变量中;如果返回的值是某种块类型,则将其存储在具有相同块类型的变量中。
与具有中等复杂类型声明的任何类型一样,您可能会发现首先使用typedef
给它一个不错的短名称更容易。 E.g:
typedef int (^SomeIntFunction)(int, int)
SomeIntFunction selectFunction() { ... }
SomeIntFunction sif = selectFunction();
int result = sif(42, 24);
HTH
答案 1 :(得分:0)
这是一种方式:
BundleConfig
答案 2 :(得分:0)
首先声明你的块语法。
在#import ...
的底部写下以下语法。
typedef void(^completionBlock) (NSString *message);
现在用块创建函数:
- (void)callFunctionWithBlock: (NSString *)text completion: (completionBlock)callBlock {
NSLog(@"%@", text);
callBlock([NSString stringWithFormat:@"block with return message: %@", text]);
}
调用您的函数:
[self callFunctionWithBlock:@"testing block" completion:^(NSString *message) {
NSLog(@"%@", message);
}];