前端之家收集整理的这篇文章主要介绍了
Swift 3静默地允许遮蔽参数,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在切换到
Swift,我真的不高兴以下
代码编译没有警告:
- func f(_ x: inout Int?) {
- var x: Int? // <-- this declaration should produce a warning
- x = 105
- if x! < 1000 {}
- }
-
- var a: Int? = 3
- f(&a)
- print("\(a)")
当然,在执行时输出可选(3).
在这个例子中,x局部变量阴影x函数参数.
在项目设置中打开隐藏的本地变量警告(GCC_WARN_SHADOW)也不会产生警告.
问题:我应该如何使Swift 3编译器向我发出这样的阴影警告?
将X
名称(参数值或可变)编辑为不同的
名称
例
- func f(_ x: inout Int?) {
- var y: Int?
- y = 105
- if x! < 1000
- {
- x = y
- }
- }
-
- var a: Int? = 3
- f(&a)
- print("\(a)")