4

我有一个由多个类导入的“MyConstants.h”文件。

在该文件中,我有以下内容:

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

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

为什么?

4

2 回答 2

8

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

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

static inline改为:

static inline BOOL isIndexValid(NSInteger index) {
  return ((index >=0) && (index < 200));
}
于 2016-07-27T13:50:00.673 回答
1

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

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

希望对您有所帮助。

于 2019-06-12T14:47:31.333 回答