有没有办法检测Swift项目中的强制解包?
发布时间:2020-12-14 04:55:57 所属栏目:百科 来源:网络整理
导读:有没有办法(通过编译器标志或脚本)检测 Swift项目中的强制解包? 我正在考虑这样的事情: let b = a as! Blet c = a!a!.method() 没有触发var a:A的误报!例如. 解决方法 正如评论中所指出的,可以制作正则表达式搜索以捕获postfix的大部分用法! (如果你小
有没有办法(通过编译器标志或脚本)检测
Swift项目中的强制解包?
我正在考虑这样的事情: let b = a as! B let c = a! a!.method() 没有触发var a:A的误报!例如. 解决方法
正如评论中所指出的,可以制作正则表达式搜索以捕获postfix的大部分用法! (如果你小心,你应该能够忽略冒号冒号的大多数用法,这样你就不会从IUO类型的声明中得到噪音.)
虽然这和它一样好,并且它是不完整的 – 例如,每次调用返回IUO类型的API并在不检查可选项的情况下访问其结果时,您可能会执行强制解包而不显式地执行任何操作你的代码中的刘海. 任何试图警告unchecked unwraps的工具都需要对Swift的类型系统,语法和类型推理规则有相当深入的了解.而且真正唯一可以拥有这些知识(并且正确使用)的地方就在编译器中.所以你可能最好离开filing a feature request to Apple或使用open source project. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |