在Objective-C中取消定义重复的接口



是否有一种方法可以取消定义先前定义的接口?或者是否有方法可以检查接口是否已经定义。

由于某些无法解释的原因,我需要在两个具有完全相同名称和定义的不同文件中定义完全相同的接口。

这两个头文件可以同时导入,这会导致重复的接口定义。

What I've try

#ifndef Test_Sandwich
#define Test_Sandwich
NS_SWIFT_NAME(Test.Sandwich)
@interface Test_Sandwich : NSObject
@end
#endif

但这给了我预期标识符错误在": NSObject">

我不认为你可以在接口上使用#ifndef。也许你可以把一个头文件导入另一个?

或者你可能需要使用前向声明。所以你可以在其中一个文件中写入:

@class Test_Sandwich;

这对于解决循环依赖非常有用。

这个错误是因为我将标识符命名为与接口相同这工作

#ifndef Test_Sandwich2
#define Test_Sandwich2
NS_SWIFT_NAME(Test.Sandwich)
@interface Test_Sandwich : NSObject
@end
#endif

最新更新