我在 Constants.h 文件中以这种方式定义了一个枚举:
typedef enum {
CalendarTypeMonth = 0,
CalendarTypeWeek
} CalendarType;
然后在我的 View Controller 中,我确定日历类型应该是什么,并以这种方式将其存储在属性中:
@property (nonatomic) CalendarType myCalendarType;
现在我希望我项目中的所有类都可以访问日历类型。如何将此属性设置为全局/外部以便所有类都可以读取它?
编辑:我知道枚举的定义将在整个项目中可用。但我感兴趣的是myCalendarType
的值。如何跨所有类访问 myCalendarType 的值?
最佳答案
您可以声明类方法来访问静态变量。
将这样的代码添加到您的实现文件中:
static MyStaticType staticVar = MyStaticTypeDefault;
+(BOOL)myStaticVar
{
return staticVar;
}
+(void)setMyStaticVar:(MyStaticType)newValue
{
staticVar = newValue;
}
并在接口(interface)文件中为该方法创建声明。 这比将所有静态值移动到 AppDelegate 要好得多。 无论如何,很多变体都是可能的 - 例如,您可以创建单例来存储应用程序的某些设置或使用 CoreData。
关于objective-c - Objective C 中的全局属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8647331/