您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> IOS >> Objective-C block的参数问题: This block declaration not a prototype

Objective-C block的参数问题: This block declaration not a prototype

来源:网络整理     时间:2017/12/28 11:40:19     关键词:

关于网友提出的“ Objective-C block的参数问题: This block declaration not a prototype”问题疑问,本网通过在网上对“ Objective-C block的参数问题: This block declaration not a prototype”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: Objective-C block的参数问题: This block declaration not a prototype
描述:

我在学 ReactiveObjC, ReactiveCocoa的Objective-C版.
RACSignal.h 中,以下代码:,

- (RACSignal *)reduceEach:(id _Nullable (^)())reduceBlock
RAC_WARN_UNUSED_RESULT; (id _Nullable (^)())

Xcode 报错:

This block declaration is not a prototype

reduceBlock()能放很多参数.
UIAlertView+RACSignalSupport.m 中,以下代码, 其他文件也有 ,

- (RACSignal *)rac_buttonClickedSignal {

RACSignal *signal = [[[[self.rac_delegateProxy
    signalForSelector:@selector(alertView:clickedButtonAtIndex:)]
    reduceEach:^(UIAlertView *alertView, NSNumber *buttonIndex){
        return buttonIndex;
    }]
......
return signal; }

有点泛型的感觉。
void (^block)() 这样声明,就能在block 放0到多个参数了.
Xcode现在不支持这种语法,怎样解决,解释下更好。


解决方案1:

只是个warnning吧,

试试 括号里面加上

id _Nullable ,...

//比如

@property (nonatomic, strong) void (^testBlock)(id _Nullable ,...);

以上介绍了“ Objective-C block的参数问题: This block declaration not a prototype”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/4527821.html

相关图片

相关文章