NSOperation на iPhone

Просто добавьте флаг и установите его в false перед ручной прокруткой.

Не забудьте установить флаг в true в вашем обработчике прокрутки

private handleScroll = true;

@HostListener('scroll', ['$event'])
onScroll($event) {
  if (!this.handleScroll) {
    this.handleScroll = true;
    return;
  }
}

public manualScroller() {
  this.handleScroll = false;

  this.element.scrollTop = 100;
}
41
задан Girish 23 April 2013 в 06:56
поделиться

3 ответа

Cocoa Is My Girlfriend имеет хороший учебник по использованию NSOperation и NSOperationQueue . В руководстве используется NSOperation для одновременной загрузки нескольких веб-страниц в отдельных потоках.

Также см. эту статью из Mac Research.

43
ответ дан 27 November 2019 в 00:22
поделиться

Способ, которым я использую его в своих приложениях для iPhone, заключается в том, чтобы в основном создать члена NSOperationQueue в моем делегате приложения и сделать его доступным через свойство. Затем каждый раз, когда мне нужно запустить что-то в фоновом режиме, например, загрузить какой-нибудь XML, я просто создаю NSInvocationOperation и отправляю его в очередь.

NSInvocationOperation *operationToPerform = [[NSInvocationOperation alloc] initWithTarget:self selector:@selector(updateXML) object:nil];
[[(MyAppDelegate *)[[UIApplication sharedApplication] delegate] sharedOperationQueue] addOperation:operationToPerform];
[op release];
33
ответ дан 27 November 2019 в 00:22
поделиться

Одним словом: NSOperationQueue

NSOperationQueue является потокобезопасным (вы можете добавлять к нему операции из разных потоков без необходимости блокировок) и позволяет связывать NSOp объекты вместе.

Приложение My Flickr для iPhone, Reflections, широко использует NSOperation и NSOperationQueue для управления загрузкой изображений и XML .

Предупреждение: убедитесь, что вы читаете, перечитываете и понимаете, что означают документы, когда они говорят о «параллелизме».

10
ответ дан 27 November 2019 в 00:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: