Прежде всего, синглтоны, как правило, плохой дизайн, и это похоже на ситуацию, когда вам не нужен синглтон. См. Синглтоны - патологические лжецы Мишко Хевери и другие статьи в его блоге. (Надеюсь, это не выглядит высокомерно, избавление от синглтона, вероятно, улучшит ваш дизайн и облегчит кодирование.)
Во-вторых, если я правильно понимаю ваш вопрос, вы можете передать синглтону селектор, который должен быть вызван после того, как синглтон получит данные. API в классе singleton может выглядеть следующим образом:
- (void) download: (NSURLRequest*) request andTell: (id) delegate to: (SEL) doThis;
Затем, после того как вы закончите загрузку данных, вы сделаете:
[delegate performSelector:doThis withObject:receivedData];
Это отвечает на вопрос?