Xcode 8 用处不大的新特性:CLANG_WARN_INFINITE_RECURSION

Xcode 8 的 clang 新的警告控制,当所有路径都通过一个函数都调用自身时,会产生一个警告 ⚠️。
下图展示了,如何开启该功能(默认开启)。

111711809-7d18a1538f2a8b59

下面展示了产生该警告的一种情况

121711809-b1535d0930652b9b

值得注意的地方是,对于大部分的 iOS 开发者,该功能的作用微乎其微。具体原因可以看下面的截图。

131711809-0c598f9960548ab2
  • test1 函数。在 if-else 语句中,存在第一个 if 分支,该分支没有直接调用 test1(),所以不会产生警告⚠️。
  • OC 中的方法调用。因为 OC 是动态语言,函数调用顺序是在程序执行时确定的(在特殊情况下,该写法不会产生死循环)。所以,方法调用不会产生任何警告⚠️。

打赏支持我写出更多好文章,谢谢!

打赏作者

打赏支持我写出更多好文章,谢谢!

任选一种支付方式

1 收藏 评论

关于作者:酷酷的哀殿

常年混迹于创业公司的 iOS 开发者。 个人主页 · 我的文章 · 11 ·    

相关文章

可能感兴趣的话题



直接登录
跳到底部
返回顶部