想象一下,我在iOS中有一个静态库,说MyLibrary.a
在这个库中说有一些.m文件调用:"#import SomeHeaderWhichDoesNotYetExist.h"
- 但问题是,当调用"#import SomeHeaderWhichDoesNotYetExist.h"
时,
SomeHeaderWhichDoesNotYetExist.h可能不一定存在于项目中(如标题所示)。如,
#ifdef something
#import SomeHeaderWhichDoesNotYetExist.h
#endif
如某人使用 Mylibrary.a - 他/她可能会在稍后实施 SomeHeaderWhichDoesNotYetExist.h,我们希望MyLibrary.a能够 按照上面的代码中的指定自动使用它。你认为这是可能的吗?
谢谢。
答案 0 :(得分:1)
我们经常使用类似的种类
#ifdef TARGET_OS_IPHONE
// iOS
#elif defined TARGET_IPHONE_SIMULATOR
// iOS Simulator
#elif defined TARGET_OS_MAC
// Other kinds of Mac OS
#else
// Unsupported platform
#endif
所以我会说,是的,你可以 !!!
但您需要定义something
。
答案 1 :(得分:0)
不,它不能,至少不是你表现的方式。
您显示的条件编译块用于预处理器,并在编译之前调用它。如果您想以这种方式包含任何新内容,则必须重建。