Объявление метода с __attribute__((nonnull(2)))
Что делает это __attribute__((nonnull(2)))
значит в следующем объявлении метода?
- (void)requestShareWithObjectId:(NSString *)object
completion:(void (^)(NSString *likes, NSString *reposts))completion __attribute__((nonnull(2)));
1 ответ
Решение
Это означает, что Второй параметр не должен быть нулевым указателем.
__attribute__((nonnull))
Этот атрибут функции указывает параметры функции, которые не должны быть нулевыми указателями. Это позволяет компилятору генерировать предупреждение при обнаружении такого параметра.
Синтаксис
__attribute__((nonnull(arg-index, ...)))
Где arg-index, ... обозначает список индексов аргументов.
Если список индексов аргументов не указан, все аргументы указателя помечаются как ненулевые.
Рекомендации
- NSHipster -
__attribute__
- РУКА
- Keil