You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SwiftLint Returning Whitespace Violation报错:如何修复代码空格违规?

修复SwiftLint的「Returning Whitespace Violation」报错

嘿,这个问题我之前也碰到过!SwiftLint的「Returning Whitespace Violation」其实就是在挑你代码里返回箭头(->)前后的空格毛病,规则很明确:箭头前后必须各有且只有一个空格,不管是闭包类型里的箭头还是函数返回的箭头。

针对你给出的两段代码,具体修复方法如下:

1. 修复属性定义的空格问题

原代码:

var completion: (()-> Void)?

问题出在闭包类型(()-> Void)里的->前面没有空格,我们需要在()和->之间加一个空格,让箭头前后都有单个空格:

var completion: (() -> Void)?

2. 修复函数声明的空格问题

原代码:

class func showView(inside view: UIView, with trophy: Trophy, completion:(()-> Void)? = nil) -> TrophyDetailsView { }

这里有两处需要调整:

  • 同样是闭包参数类型(()-> Void)要改成(() -> Void),保证箭头前后的空格规范
  • 顺便确认函数返回箭头->的前后:参数列表的闭括号和箭头之间、箭头和返回类型TrophyDetailsView之间,都要保持单个空格(原代码这里其实是对的,但如果有多个空格也会触发报错,注意保持单个空格即可)

修复后的代码:

class func showView(inside view: UIView, with trophy: Trophy, completion: (() -> Void)? = nil) -> TrophyDetailsView { }

额外方案:如果不想遵循这个规则

要是团队有自己的代码规范,不想用SwiftLint的这个检查,可以在项目的.swiftlint.yml配置文件里禁用该规则:

disabled_rules:
  - returning_whitespace

不过还是建议尽量遵循统一的空格规范,让代码看起来更整洁~

内容的提问来源于stack exchange,提问作者Monty

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:24:57