Я хочу создать приватную глобальную переменную в классе NSObject
. Вот то, что я до сих пор:Как создать приватную глобальную переменную в классе NSObject?
+ (MyClass *)sharedInstance
{
static MyClass *sharedInstance;
static dispatch_once_t once;
dispatch_once(&once, ^{
sharedInstance = [[self alloc] init];
});
return sharedInstance;
}
Я хочу создать и назначить NSDictionary
, которые могут быть доступны по всему файлу .m
.
Например: В обычном .m UIViewController
классе есть:
@interface MyViewControllerClassName()
// Here I would declare private global variables.
// Example:
@property (strong, nonatomic) NSArray *myArray;
@end
Тогда в viewDidLoad
я бы присвоить ему значение, и я буду иметь возможность доступа к нему по всему файлу .m
.
Мой вопрос: Как я могу создать одно и то же (глобальную частную переменную) в классе NSObject
, который не имеет @interface
и viewDidLoad
?
Update
Я пытаюсь добавить объекты в массив, и использовать его на протяжении всего моего класса NSObject. Вместо того чтобы создавать его в любом методе, который я использую его в
. Пример:
NSArray *myArray = [[NSArray alloc] initWithObjects: @"One", @"Two", nil];
- (void)firstMethod {
NSLog(@"%@", [self.myArray firstObject]);
}
- (void)secondMethod {
NSLog(@"%@", [self.myArray lastObject]);
}
Update 2
При создании нового файла с подклассом NSObject
, то .m
файл не поставляется с @interface myObjectClass() ... @end
. Поэтому я не знаю, где создавать мои переменные, к которым я хочу получить доступ в файле myObjectClass.m
.
Вы используете термин «частная глобальная переменная», но «глобальный» имеет очень специфическое значение, о котором я вывел вас, на самом деле не имел в виду. Кроме того, ваш оригинальный пример - одноэлементный, но я предполагаю, что вы действительно не спрашиваете о одиночных играх, а скорее о классах вообще. Это верно? – Rob
@ Хадсон, я думаю, сначала изучите некоторые основные, а затем пришли со стандартной проблемой, все будут рады помочь! как в моем ответе я определил все! – Buntylm