我有一个" MyConstants.h"由多个类导入的文件。
在该文件中,我有类似的内容:
static BOOL isIndexValid(NSInteger index) {
return ((index >=0) && (index < 200));
}
导入MyConstants.h
的类广泛使用此函数。即便如此,Xcode仍抱怨不使用此功能和其他功能。
为什么?
答案 0 :(得分:4)
在头文件中定义static
函数(或变量)意味着导入该头文件的每个源文件都将获得自己的副本。
这不好,是编译器抱怨的(不是每个源文件都引用此函数)。
改为static inline
:
static inline BOOL isIndexValid(NSInteger index) {
return ((index >=0) && (index < 200));
}
答案 1 :(得分:0)
尝试在返回类型和函数名称之间插入__unused
,它在Xcode 10.2上对我有用
static BOOL __unused isIndexValid(NSInteger index) {
return ((index >=0) && (index < 200));
}
希望对您有帮助。