Это не единственный объект, который вам нужен.
Один объект must always
возвращает same instance
.
То, что вам нужно, - это обычный класс, который может иметь метод вспомогательного класса, чтобы предоставить вам какой-то предварительно заполненный объект.,
Если возможно создать более одного экземпляра объекта, он больше не является одноэлементным.
Но ваш одноэлементный класс может содержать переменное количество экземпляров другого класса, который вы хотите отобразить.
Таким образом, то, что вы просите, может быть возможным, но без копирующей части на синглтоне.
Я не уверен, куда вы идете с этим, и если это лучший путь, но вот идея:
вы можете иметьsingleton
класс, который будет содержать массив другого класса.Таким образом, вы можете назвать свой singleton
следующим образом:
TheSingletonClassName *mySingleton = [TheSingletonClassName sharedTheSingletonClassName];
OtherClass *myOtherClass = [mySingleton newOtherClassInstancePlease];
В своем методе newOtherClassInstancePlease
вы реализуете необходимую вещь для хранения этого нового объекта в массиве, который вы можете распределить следующим образом:
NSArray *otherClassArray = [mySingleton allOtherClasses];
Или NSMutableArray, если вы предпочитаете.
С этим вы сможете поделиться, создать новый и даже удалить объект.если вы реализуете необходимый метод в своем синглтоне.
Но снова не копируйте синглтон, если синглтон хорошо реализован, отправка ему вызова копирования должна вызвать исключение или вернуть существующий экземпляр синглтона.