我有15到20个变量我希望在我的整个项目中访问它。什么是定义它的最佳位置以及为什么?.. Appdelegate File,.Pch文件或定义这些Extern。
非常感谢提前。
答案 0 :(得分:1)
从应用的各个位置访问您的应用代理会在应用的这些组件之间产生强大的耦合。
基本上你通过你的应用程序使用全局变量,这通常是一个可以改进的应用程序设计的良好指示。
变量通常不会生活在空气中。它们存在于上下文中。例如,如果您使用的是用户名和密码,则应从系统的钥匙串中获取。整个身份验证过程应该包含在一个验证类中,您可以在其中定义属性。
如果您需要从应用的各个位置访问信息,则必须将它们作为初始化程序的参数传递。这个顺便说一句,你的个人组件是可测试的,这是一件好事。
我的建议是首先重新考虑你的应用程序设计,以免后来依赖地狱。
答案 1 :(得分:0)
您可以在AppDelegate
课程中将其定义为属性。例如:
@interface AppDelegate : UIResponder <UIApplicationDelegate>
@property (retain, nonatomic) NSString *publicString;
如果你想为外部对象制作readonly
,那么你可以定义如下:
1)在AppDelegate.h
@interface AppDelegate : UIResponder <UIApplicationDelegate>
@property (retain, readonly, nonatomic) NSString *publicString;
2)在AppDelegate.m
@interface AppDelegate ()
@property (retain, readwrite, nonatomic) NSString *publicString;
@end
@implementation AppDelegate
@synthesize publicString;
// other methods below
@end
答案 2 :(得分:0)
按名称'define.h'创建一个头文件,并在其中实现所有定义和常量。 在.Pch文件中导入此文件
这是最好的,并将与其他类别分开。