Как ссылаться на класс (а не на экземпляр этого объекта!), Который реализует конкретный протокол?Цель Ссылка на класс, реализующий протокол
+(id<Data>) dataForName:(NSString *)name {
id<DataManager> manager = SpecializedDataManager; // <-- which datatype does "manager" have to be?
return [[manager sharedManager] get:name]; //Getting data over a singleton of manager
}
Где Data
и DataManger
являются протоколами и SpecializedDataManager
является классом реализации протокола DataManager
.
Код, показанный на моем первом посте, упрощен, чтобы показать проблему менее сложным образом. Переменная «manager» на самом деле используется во многих местах моего кода. Поэтому я должен найти способ указать класс один раз и использовать его в качестве заполнителя. – gorootde
@k_wave: Хорошо, я обновил свой ответ с массивной догадкой о том, как идти ... – trojanfoe