在我以前的项目中,我可以.pch
在Supporting Files下找到该文件.
但现在在Xcode 6中,我找不到任何.pch
文件.我应该采取任何措施来制作这个文件吗?
注意:我想在swift中实现类似的功能 - 在iOS应用程序中存储全局常量的位置?
我有两个类 - MasterViewController和DetailViewController
我想定义一个枚举(参见下面的枚举)并在两个类中使用它的值:
enum Planet: Int {
case Mercury = 1, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune
}
Run Code Online (Sandbox Code Playgroud)
我尝试在MasterViewController中定义它并在DetailViewController中使用它,如下所示:
let aPlanet = Planet.Earth
Run Code Online (Sandbox Code Playgroud)
但编译器抱怨:(
"使用未解决的标识符Planet"
通常在我的目标c代码中我曾经有一个全局常量文件,我曾经在app-prefix.pch文件中导入它,这使得它可以访问我项目中的所有文件,但在这种情况下我无能为力.
我知道存储全局常量的最佳实践是什么,这些常量可以在编译时随环境(debug,preprod,prod,release等)而改变.
在iOS中,我曾经将所有全局常量保留在头文件中并使用预处理器宏进行更改,请参阅以下答案:
在iOS应用程序中存储全局常量的位置?
我应该为Android使用什么解决方案?
可能重复:
目标C中的常量
我在NSUserDefaults中存储了一些应用程序设置.NSStrings用作键.问题是我需要使用这些NSString键在整个应用程序中访问这些设置.在应用程序的某些部分访问时,我可能会错误输入此类字符串键.
在整个应用程序中,我都有这样的陈述
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"ReminderSwitch"];
BOOL shouldRemind = [[NSUserDefaults standardUserDefaults] boolForKey:@"ReminderSwitch"];
Run Code Online (Sandbox Code Playgroud)
如何以及在何处声明我可以在整个应用程序中访问的全局NSString常量.然后我将能够使用该常量而不必担心错误键入这些字符串键.
我正在设计一个具有登录屏幕的应用程序.当用户输入用户名和密码时,将完成对Web服务的调用,该调用将在成功登录时返回令牌.现在,我需要将此令牌发送到应用程序中不同屏幕内的每个HTTP调用.
我想实现类似的功能:在iOS应用程序中存储全局常量的位置?
由于Swift中没有任何.h
和.m
文件,我如何存储这些全局字符串(注意这些不是常量,这些是全局变量),我需要能够在任何视图控制器中访问
可能重复:
在iOS应用程序中存储全局常量的位置?
我想将配置变量存储在一个中心位置.变量在运行时不会更改.它们应该可以从项目中的任何类访问.
我目前的方法是使用一个GlobalSettings.h文件,其配置变量定义如下
#define kCacheAge 10.0 //Max. Cache Age in Seconds
#define kNavigationTitleTint colorWithRed:0.443 green:0.471 blue:0.502 alpha:1.0
#define kNavigationTitleFont boldSystemFontOfSize:20.0
Run Code Online (Sandbox Code Playgroud)
......并在我需要的地方加入他们的名字.
缺点:
有没有更好的方法来做到这一点,也许避免上述缺点?存储配置变量的最佳实践?