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

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

Xcode 8 用处不大的新特性:CLANG_WARN_INFINITE_RECURSION_第1张图片

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

test

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

Xcode 8 用处不大的新特性:CLANG_WARN_INFINITE_RECURSION_第2张图片
test1 & setTitle:
  • test1 函数。在 if-else 语句中,存在第一个 if 分支,该分支没有直接调用 test1(),所以不会产生警告⚠️。

  • OC 中的方法调用。因为 OC 是动态语言,函数调用顺序是在程序执行时确定的(在特殊情况下,该写法不会产生死循环)。所以,方法调用不会产生任何警告⚠️。

你可能感兴趣的:(Xcode 8 用处不大的新特性:CLANG_WARN_INFINITE_RECURSION)