iOS-Universal-Framework's页面:https://github.com/kstenerud/iOS-Universal-Framework --这是一个为iOS构建通用(arm6、arm7和模拟器)框架的XCode项目模板。
我使用这个模板构建了我的框架,但是我遇到了一个问题,我把我所有的类打包到模板中,包括.h文件Macro.h中的宏定义Macro.h,但是问题是.kCOMPANYID必须由使用我的框架的人来修改,所以kCOMPANYID必须在框架之外定义,但问题是,我的框架中的一些类必须使用kCOMPANYID,所以这是一个冲突,我不知道该如何做,请帮助我,谢谢。
发布于 2013-11-25 04:54:33
你应该尽量避免#define
一种方法是为其设置一个setter/getter函数。
例如:
// public header file
void SetCompanyId(int value);
// int GetCompanyId(); // it can be in public header or private header
// some .m or .c or .cpp file
static int companyId;
int GetCompanyId() { return copanyId; }
void SetCompanyId(int value) { companyId = value; }或者,如果用户mush提供了一个id,只需将其设置为全局变量即可。您可以将const添加到其中,这样值就不会更改
// header file in your framework
extern const int kCompanyId;
// some implementation file in user code
const int kCompanyId = 2;那么用户必须提供一个公司id,否则就会出现链接错误。
https://stackoverflow.com/questions/20184963
复制相似问题