+ (UIColor*) getColorWithHexa(NSString*)hexString;
这是我班级的方法定义。这引起了警告。类似警告的原因是什么?如何解决?
我正在返回一个UIColor对象,而那个问题与块有关,这是在注释中给出的。
所以,这很有用。
答案 0 :(得分:15)
<强> NS_ASSUME_NONNULL_BEGIN / END:强>
注释Objective-C头文件中的任何指针会导致 编译器期望整个文件的注释,带来一个 级联的警告。鉴于大多数注释都是非空的,a 新宏可以帮助简化注释现有的过程 类。只需标记标题部分的开头和结尾即可 使用NS_ASSUME_NONNULL_BEGIN和..._ END,然后标记例外。
所以,你只需要做。
NS_ASSUME_NONNULL_BEGIN
+ (UIColor*) getColorWithHexaCode:(NSString*)hexString;
NS_ASSUME_NONNULL_END
这在
中定义&#34; NSObjCRuntime.h&#34;
#define NS_ASSUME_NONNULL_BEGIN _Pragma(&#34; clang assume_nonnull begin&#34;)
#define NS_ASSUME_NONNULL_END _Pragma(&#34; clang assume_nonnull end&#34;)
答案 1 :(得分:7)
您在使用_Nonnull
,_Nullable
,_Null_unspecified
,__nullable
,__nonnull
,nullable
的文件中的某个位置时收到此警告或nonnull
。如果通过宏添加说明符也可能发生。
修正警告:
_Nonnull
和NS_ASSUME_NONNULL_BEGIN
(推荐)假设所有参数和返回值均为NS_ASSUME_NONNULL_END