Objective-C中的常数

艾琳

我正在开发一个Cocoa应用程序,并且使用常量NSStrings作为存储我的首选项键名的方法。

我知道这是个好主意,因为如果需要,它可以轻松更改键。
另外,这就是整个“将数据与逻辑分离”的概念。

无论如何,有没有一种好的方法可以使整个应用程序一次定义这些常量?

我敢肯定有一种简单而智能的方法,但是现在我的课程只是重新定义了他们使用的课程。

巴里·沃克

您应该创建一个头文件,例如

// Constants.h
FOUNDATION_EXPORT NSString *const MyFirstConstant;
FOUNDATION_EXPORT NSString *const MySecondConstant;
//etc.

如果您的代码不会在混合C / C ++环境或其他平台上使用externFOUNDATION_EXPORT可以使用代替

您可以将此文件包含在每个使用常量的文件中,也可以包含在项目的预编译头文件中。

您可以在.m文件中定义这些常量,例如

// Constants.m
NSString *const MyFirstConstant = @"FirstConstant";
NSString *const MySecondConstant = @"SecondConstant";

Constants.m应该添加到应用程序/框架的目标中,以便将其链接到最终产品。

使用字符串常量而不是#define'd常量的优点是,您可以使用指针比较(stringInstance == MyFirstConstant测试是否相等,这比字符串比较([stringInstance isEqualToString:MyFirstConstant]快得多(IMO更易于阅读)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章