Я просмотрел (и попробовал) здесь кучу потоков, касающихся синглтонов и NSMutableArrays. Я новичок в Objective-C, так что терпите меня.
Я просто хочу создать несколько массивов, к которым можно будет получить доступ из любого файла view / .m.
Какое кодирование является лучшим (или наиболее кратким) для синглтона?
Ниже представлено то, что у меня есть сейчас, и я получаю 1 предупреждение в .m '@implementation' - «Неполная реализация» 1 ошибка при использовании в файле представления .m - «элемент инициализатора не является константой времени компиляции»
Это код, который у меня есть сейчас - мой файл GlobalData.h:
#import
@interface GlobalData : NSObject {
NSMutableArray *listOfHeadings;
NSMutableArray *listOfItems1;
NSMutableArray *listOfItems2;
}
@property(nonatomic,retain)NSMutableArray *listOfHeadings;
@property(nonatomic,retain)NSMutableArray *listOfItems1;
@property(nonatomic,retain)NSMutableArray *listOfItems2;
+(GlobalData*)getInstance;
@end
Мой файл GlobalData.m:
#import "GlobalData.h"
@implementation GlobalData
@synthesize listOfHeadings;
@synthesize listOfItems1;
@synthesize listOfItems2;
static GlobalData *instance=nil;
+(GlobalData *)getInstance
{
@synchronized(self)
{
if(instance==nil)
{
instance= [GlobalData new];
}
}
return instance;
}
@end
И в файле view .m (упрощенно):
#import GlobalData.h
GlobalData *globDat=[GlobalData getInstance]; //error occurs here
Может кто-нибудь указать на проблему, и если есть лучшая кодировка, пожалуйста, просветите меня - спасибо!
ИЗМЕНИТЬ
Вот несколько ссылок, которые я пытался использовать:
Могу ли я иметь один NSMutableArray в моем приложении с несколькими представлениями?