此__attribute__((nonnull(2)))
在以下方法声明中的含义是什么?
- (void)requestShareWithObjectId:(NSString *)object
completion:(void (^)(NSString *likes, NSString *reposts))completion __attribute__((nonnull(2)));
答案 0 :(得分:1)
它表示第二个参数不应该是空指针。
__attribute__((nonnull))
此函数属性指定不是的函数参数 应该是空指针。这使编译器能够生成 遇到这样的参数时会发出警告。
<强>语法强>
__attribute__((nonnull(arg-index, ...)))
其中arg-index,...表示参数索引列表。
如果未指定参数索引列表,则所有指针参数均为 标记为非空。
参考