Xcode 抱怨 Unused functions that uses

Xcode complains about Unused functions that are used

我有一个 "MyConstants.h" 文件,由几个 类 导入。

在那个文件里面我有这样的东西:

static BOOL isIndexValid(NSInteger index) {
  return ((index >=0) && (index < 200));
}

此函数被 类 导入 MyConstants.h 广泛使用。即便如此,Xcode 抱怨这个功能和其他功能没有被使用。

为什么?

在头文件中定义 static 函数(或变量,就此而言)意味着导入该头文件的每个源文件都将获得自己的副本。

这不好,这就是编译器所抱怨的(并非每个源文件都引用此函数)。

改为static inline

static inline BOOL isIndexValid(NSInteger index) {
  return ((index >=0) && (index < 200));
}

尝试在 return 类型和函数名称之间插入 __unused,它适用于 Xcode 10.2

static BOOL __unused isIndexValid(NSInteger index) {
  return ((index >=0) && (index < 200));
}

希望对您有所帮助。