如何修复Variable ' ' was never used未使用变量编译警告问题
问题原因
- 你在
if分支局部作用域内声明的rollerSmall、rollerMedium变量没有任何后续使用逻辑,编译器检测到后会抛出未使用警告 - 现有写法还存在作用域问题:两个变量仅在对应
if分支内部生效,分支执行完成后就会被销毁,外部完全无法访问,即使后续有使用需求也拿不到值
修复方案
根据实际业务需求选择对应方案即可:
方案1:无需使用变量直接删除声明
如果声明这两个变量本来就不是必要逻辑,直接删掉对应代码即可:
if roller == "1"{ // 移除rollerSmall声明 } if roller == "2"{ // 移除rollerSmall、rollerMedium声明 }
方案2:需要外部使用变量就提升作用域
把变量声明提到if分支外层,再在分支内部赋值,后续就可以正常使用:
// 外层声明变量,可根据需求设置初始值或者用可选类型 var rollerSmall: Bool? var rollerMedium: Bool? if roller == "1"{ rollerSmall = true } if roller == "2"{ rollerSmall = false rollerMedium = true } // 后续可正常访问两个变量的值
方案3:临时占位可忽略警告
如果只是需要临时占位不需要实际用到变量,按照编译器提示把变量名替换为_即可消除警告:
if roller == "1"{ var _: Bool = true } if roller == "2"{ var _: Bool = false var _: Bool = true }
内容的提问来源于stack exchange,提问作者tecdude
相关产品推荐
相关产品推荐

