SKProductRequest синхронный - PullRequest
       4

SKProductRequest синхронный

0 голосов
/ 09 января 2012

я запускаю запрос продукта уже в операционном блоке

NSOperationQueue * queue = [[NSOperationQueue alloc] init];

[queue addOperationWithBlock:^{
      SKProductsRequest * request= [[SKProductsRequest alloc] initWithProductIdentifiers: selectedSKIdentifiers];

      request.delegate = self;

      [request start];

}];

поэтому я хотел бы использовать какую-то синхронную версию, например, при загрузке данных

NSData * data = [[NSData alloc] initWithContentsOfURL:url];

или синтаксический анализ XML также является синхронным

NSXMLParser * parser = [[NSXMLParser alloc] initWithData:xmlData];
[parser setDelegate:self];
[parser parse];
[parser release];

Есть ли способ сделать запрос SKProductsRequest синхронным

Документация яблока удачи в дальнейшей информации по этой теме в этот день

1 Ответ

0 голосов
/ 16 января 2012

я нашел способ сделать любой метод синхронным:

// create the object that will perform an async operation
MyConnection *conn = [MyConnection new];

// create the semaphore and lock it once before we start
// the async operation
self.theLock = [NSConditionLock new];

// start the async operation
self.testState = 0;
[conn doItAsyncWithDelegate:self];

// now lock the semaphore - which will block this thread until
// [self.theLock unlockWithCondition:1] gets invoked
[self.theLock lockWhenCondition:1];

// we're done
[self.theLock release];
[conn release];

Обязательно вызывайте !!!!!!!!!!!!!!!!!

[self.theLock unlockWithCondition:1];

У делегата (ов) тогда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...