2015-06-10 2 views
0

У меня есть Singleton Class для выполнения операций Web-сервиса. Предположим, мы создали метод -(void)getProfilesWithName:(NSString *)profileName, чтобы получить информацию о профиле. Я использую block объектов, чтобы получить ответ от Web Service Operations Класс. Так как Web Service Operations является одноточечным, многие объекты могут отправлять одинаковые сообщения [self getProfilesWithName:@"John"] за раз. В этом случае первый объект, который делает запрос веб-службы, не будет получать данные.Отправка сообщения Singleton Object

Каков правильный способ выполнения некоторых операций веб-сервиса с использованием Singleton Class? Могу ли я использовать NSOperationQueue?

+1

Не зависит ли ответ от того, как класс выполняет свою работу? В этом случае, пожалуйста, покажите, как это работает. – Droppy

ответ

0

NSOperationQueue - одна возможность. queue.addOperationWithBlock(_ block:() -> Void) - это метод, который добавляет новый блок. Но я думаю, вы могли бы сделать это без очереди. Не устанавливайте блок как переменную экземпляра, используйте его непосредственно в своем методе или блоке успеха.

+0

OP использует Objective-C, поэтому '() -> Void' мало что значит для него, – Droppy

+0

' getProfilesWithName ("profileName") 'быстрая или нет? Я сначала написал objc и отредактировал его. – ronhippler

+0

Вопрос помечен 'цель-c', хотя вы делаете хорошую точку. – Droppy