我正在开发一个Cocoa应用程序,并且使用常量NSString
s作为存储我的首选项键名的方法。
我知道这是个好主意,因为如果需要,它可以轻松更改键。
另外,这就是整个“将数据与逻辑分离”的概念。
无论如何,有没有一种好的方法可以使整个应用程序一次定义这些常量?
我敢肯定有一种简单而智能的方法,但是现在我的课程只是重新定义了他们使用的课程。
您应该创建一个头文件,例如
// Constants.h
FOUNDATION_EXPORT NSString *const MyFirstConstant;
FOUNDATION_EXPORT NSString *const MySecondConstant;
//etc.
(如果您的代码不会在混合C / C ++环境或其他平台上使用extern
,FOUNDATION_EXPORT
则可以使用代替)
您可以将此文件包含在每个使用常量的文件中,也可以包含在项目的预编译头文件中。
您可以在.m文件中定义这些常量,例如
// Constants.m
NSString *const MyFirstConstant = @"FirstConstant";
NSString *const MySecondConstant = @"SecondConstant";
Constants.m应该添加到应用程序/框架的目标中,以便将其链接到最终产品。
使用字符串常量而不是#define
'd常量的优点是,您可以使用指针比较(stringInstance == MyFirstConstant
)测试是否相等,这比字符串比较([stringInstance isEqualToString:MyFirstConstant]
)快得多(IMO更易于阅读)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句