我只能在开发中在接口中声明一个方法吗?

时间:2014-11-17 21:15:31

标签: ios

我是否可以仅在开发中在接口中声明方法?

如果在界面中

@interface TestClass : NSObject

#if DEVELOPMENT
-(void)doStuffOnlyInDevelopment;
#endif

@end

这会有用吗?

我试过这个没有构建错误但是当我在单元测试中运行它时,自动完成不能解决这个方法。也宣布了发展。

我怎么能达到这个结果?

基本上在类的接口中使方法只在某些情况下可见?

1 个答案:

答案 0 :(得分:0)

虽然上面的内容确实有效,但是当您执行此操作时,Xcode的自动完成功能会让您感到困惑。我还建议不要使用预处理程序指令来删除方法声明。相反,如果您不处于开发模式,则在方法体中使用预处理程序指令使它们成为无操作。

-(void)doStuffOnlyInDevelopment {
#if DEVELOPMENT
    //Development only code here
#endif
}

这意味着以下内容:

  1. 自动填充应该能够弄清楚

  2. 您的代码实际上是为了发布而编译而不删除对此方法的调用或围绕您调用它们的代码的预处理程序指令