我有一个API
+ (void)getTheThing:(nonnull void (^)(NSString * __nullable thing, NSError * __nullable error))completion;
(从here获取的语法)
但是当它去使用它并利用Xcode的块自动完成时,它会自动完成这个:
[MyAPI getTheThing:^nonnull void(NSString * __nullable, NSError * __nullable) {
<#code#>
}];
这会导致nonnull
无法识别错误,事实上没有参数名称等......
知道发生了什么事吗? :我告诉我错了吗?这个东西很新,documentation并不完整:/
答案 0 :(得分:5)
知道发生了什么事吗?
它被打破http://www.openradar.me/20835509
我宣布错了吗?
您可以注释这样的块:
+ (void)getTheThing:(void (^__nonnull)(NSString * __nullable thing, NSError * __nullable error))completion;
然后自动完成会产生以下代码:
[MyAPI getTheThing:^(NSString * __nullable, NSError * __nullable) {
<#code#>
}];
但它仍然破裂。忘记自动完成并复制并粘贴块声明可能会更快。
这个东西很新,而且文档还没有完成
llvm网站上有更多信息,但仍然没有足够的信息。