在方法声明中,我了解到您可以使用带下划线的 _Nullable
关键字定义一个双指针,其中两个指针都可以指向 null:
- (void) foo:(NSError * _Nullable * _Nullable)error;
有没有办法使用非下划线的 nullable
关键字来做到这一点?
最佳答案
保持简单。不,不可能将 nullable
关键字与双指针一起使用,必须使用带下划线的语法。
文档可以在这里阅读https://clang.llvm.org/docs/AttributeReference.html#nullability-attributes正如@Sulthan 在评论中分享得很好
非下划线语法 nullable
和 nonnull
是应用于方法和函数的属性和参数以及返回类型的属性,但带下划线的关键字(__nonnull
_Nonnull
...) 是类型限定符,分别定义每个指针的类型,因此它们可以用于双指针。
关于objective-c - 带双指针的可空关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38054915/