【发布时间】:2018-12-06 05:39:03
【问题描述】:
The "nullability-completeness" warning 不适用于我的 Xcode 9.3(和 9.4.1)。 它可以在 Xcode 9.1 和 9.2 中使用。
我在 Xcode 9.2(或 9.1)中使用“Single View App”模板创建了一个新的 iOS 项目,然后将此方法添加到我的 ViewController.h:
- (nonnull UIView *)f:(UIView *)f g:(UIView *)g;
我在每个参数上都收到了 2 个警告,如下所示:
In file included from /Users/daniel/Projects/tests/TestNullability92/TestNullability92/ViewController.m:9:
/Users/daniel/Projects/tests/TestNullability92/TestNullability92/ViewController.h:13:31: warning: pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified) [-Wnullability-completeness]
- (nonnull UIView *)f:(UIView *)f g:(UIView *)g;
^
/Users/daniel/Projects/tests/TestNullability92/TestNullability92/ViewController.h:13:31: note: insert '_Nullable' if the pointer may be null
- (nonnull UIView *)f:(UIView *)f g:(UIView *)g;
^
_Nullable
/Users/daniel/Projects/tests/TestNullability92/TestNullability92/ViewController.h:13:31: note: insert '_Nonnull' if the pointer should never be null
- (nonnull UIView *)f:(UIView *)f g:(UIView *)g;
但如果我在 Xcode 9.3(或 9.4.1)中打开并重建该项目 - 我不会收到这些警告。
我尝试转到构建设置并显式启用此标志(虽然它应该默认启用),但仍然一无所获:
【问题讨论】:
-
Xcode 9.4.1 上的同样问题。
-
我在 Xcode 10.0 上看到了同样的问题。对此有任何修复吗?我想收到关于可空性(不)完整性的警告。
-
为此我仍然保留 Xcode 9.2。我们应该将此报告给 Apple。
-
报告给 bugreport.apple.com,问题 ID 为 45399704
-
当前的 Xcode beta (10.2) 似乎再次显示这些警告。而且你不能用 -Wno-nullability-completeness 来关闭它们......
标签: ios objective-c xcode clang