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

0 0 ios Objective-C block
hellosweet
hellosweet

声望值:40 0人

2018-12-25 14:03:37 提问

关注 0关注

收藏 0收藏, 263浏览

我在学 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个回答

  • 苏颜。81声望 2018-10-15 15:57

    只是个warnning吧, 试试 括号里面加上 id _Nullable ,... //比如 @property (nonatomic, strong) void (^testBlock)(id _Nullable ,...);
    请先 登录 后评论

世界杯外围投注官网

悬赏追问
10
  • 10
  • 20
  • 50
  • 100
  • 200
  • 输入数值
发布追问