gpt4 book ai didi

objective-c - 在基于 block 的 API 中使用可空性

转载 作者:太空狗 更新时间:2023-10-30 04:03:07 26 4
gpt4 key购买 nike

我有一个 API

+ (void)getTheThing:(nonnull void (^)(NSString * __nullable thing, NSError * __nullable error))completion;

(语法取自 here )

但是当去使用它并利用 Xcode 的 block 自动完成时,它会自动完成为:

[MyAPI getTheThing:^nonnull void(NSString * __nullable, NSError * __nullable) {
<#code#>
}];

这导致无法识别 nonnull 的错误,事实上没有参数名称等......

知道发生了什么事吗? :S 我声明错了吗?这东西很新,documentation还不是很完整:/

最佳答案

Any idea what's going on?

坏了http://www.openradar.me/20835509

Am I declaring it wrong?

你可以像这样注释 block :

+ (void)getTheThing:(void (^__nonnull)(NSString * __nullable thing, NSError * __nullable error))completion;

然后自动完成将生成此代码:

[MyAPI getTheThing:^(NSString * __nullable, NSError * __nullable) {
<#code#>
}];

虽然还是坏了。忘记自动完成并复制并粘贴您的 block 声明可能会更快。

This stuff is fairly new, and the documentation isn't really complete

关于 llvm 有更多信息网站,但仍然没有足够的 block 信息。

关于objective-c - 在基于 block 的 API 中使用可空性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31331605/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com