我正在进行AFNetworking
实现,发现了这个
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wassign-enum"
[request setHTTPBody:[NSJSONSerialization dataWithJSONObject:parameters options:0 error:&error]];
#pragma clang diagnostic pop
(AFHTTPClient:489-492)
assign-enum
警告显然被关闭了,但我想知道这意味着什么。
在这种情况下,叮当发出的警告是什么?
在没有clang pragmas的情况下发出的警告是:
整数常量不在枚举类型的范围内"NSJSONWritingOptions"(又名"enum NSJSONWritingOptions")
查看NSJSONWritingOptions
的声明,我们发现0:没有定义值
enum { NSJSONWritingPrettyPrinted = (1UL << 0) }; typedef NSUInteger NSJSONWritingOptions;
文档确实建议传递0,但没有像NSJSONWritingNoOption = 0
那样定义的选项,因此我们将常量(0)分配给不将0定义为可能值的枚举类型。
如果删除编译中的杂注,您将看到警告。除此之外,你还需要查看叮当声手册。