ini*_*333 2 objective-c objective-c-blocks
是否可以将块的返回值赋给变量?
例如,我知道可以这样做:
NSString *(^sampleBlock)(void) = ^NSString *(void)
{
return @"sampleString";
};
NSString *string = sampleBlock();
Run Code Online (Sandbox Code Playgroud)
但我想实现类似的东西(以下语法不正确):
NSString *string = ^NSString *(void)
{
return @"sampleString";
};
Run Code Online (Sandbox Code Playgroud)
我一直在浏览几个解释块语法的站点,例如fuckingblocksyntax.com,但这种情况没有考虑到.我知道它可以通过很多方式完成,我只是想这样做,出于可读性目的.
有谁知道这实际上是否可行?
谢谢
当然这是可能的,但你必须通过最后添加来实际执行块().否则,您无法分配任何返回值.
NSString *string = ^NSString *(void)
{
return @"sampleString";
}();
NSLog(@"%@", string);
Run Code Online (Sandbox Code Playgroud)
正确输出
sampleString
| 归档时间: |
|
| 查看次数: |
79 次 |
| 最近记录: |