5

我正在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 抛出的警告是什么?

4

2 回答 2

8

在没有 clang 编译指示的情况下发出的警告是:

整数常量不在枚举类型“NSJSONWritingOptions”(又名“枚举 NSJSONWritingOptions”)的范围内

查看 的声明NSJSONWritingOptions,我们看到 0 没有定义值:

enum {     NSJSONWritingPrettyPrinted = (1UL << 0) }; typedef NSUInteger NSJSONWritingOptions;

文档确实建议传递 0,但没有定义类似的选项NSJSONWritingNoOption = 0,因此我们将常量 (0) 分配给未将 0 定义为可能值的枚举类型。

于 2013-08-28T09:39:47.410 回答
0

如果您删除编译指示并构建它,您将看到警告。除此之外,您还需要查看 clang 手册。

于 2013-08-28T09:12:37.060 回答