objective-c - 使用 __attribute__((nonnull(2))) 声明方法

标签 objective-c annotations declaration method-declaration

__attribute__((nonnull(2))) 在下面的方法声明中是什么意思?

 - (void)requestShareWithObjectId:(NSString *)object 
                       completion:(void (^)(NSString *likes, NSString *reposts))completion __attribute__((nonnull(2)));

最佳答案

表示第二个参数不能为空指针。

__attribute__((nonnull))

This function attribute specifies function parameters that are not supposed to be null pointers. This enables the compiler to generate a warning on encountering such a parameter.

Syntax

__attribute__((nonnull(arg-index, ...)))

Where arg-index, ... denotes the argument index list.

If no argument index list is specified, all pointer arguments are marked as nonnull.

引用资料

  1. NSHipster - __attribute__
  2. ARM
  3. Keil

关于objective-c - 使用 __attribute__((nonnull(2))) 声明方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23300746/

相关文章:

java - 如何使用注释从配置文件中使用变量来限定 Autowiring 的属性?

结合返回嵌套函数的 JavaScript 函数声明或表达式

ios - 在不同类的方法中获取 NSURLConnection 响应(来自辅助类)

objective-c - UIScrollView.size = view.size - allAdditionalBars.size(如 TabBar 或 NavigationBar)以编程方式

objective-c - NSTask 终止处理程序仅在我发送 waitUntilExit 时运行

objective-c - 如果托管对象上下文发生更改,则必须删除、更新或添加某些内容,这是否总是正确的?

java - Spring使用运行时对象设置属性?

java - 我可以让 Java 5 忽略 @Override 错误吗?

xcode - 即使我在 Swift、Xcode 6 中声明,也会出现 switch 'expected declaration' 错误

variables - 如何在 Swift 中声明和初始化数组