NSInvocationOperation Вопрос - PullRequest
       4

NSInvocationOperation Вопрос

0 голосов
/ 21 октября 2010

Я хотел бы знать, как удалить дубликаты nsoperations, т.е. есть ли способ проверить очередь nsoperation и посмотреть, делаю ли я дублирующий запрос?

В основном, я запрашиваю изображения в зависимости от поворота экрана iphone.Когда представление загружено, mustautorate вызывается дважды.

If(rotation==portrait){
  request portrait image.
}

Проблема в том, что шоуд автоповорот будет проверен дважды.И в обоих случаях он окажется портретным, поэтому запрашивает одно и то же изображение дважды.Кто-нибудь с хорошей идеей?Я забыл упомянуть, что использую очередь.

Спасибо.

1 Ответ

1 голос
/ 21 октября 2010

NEW, лучший ответ:

Не используйте метод shouldAutorotate.... Он только спрашивает , разрешено ли вращение. Это может произойти в любое время и не обязательно приведет к повороту. Вместо этого используйте willRotate... или didRotate..., поскольку эти методы вызываются только ровно один раз и только в том случае, если вращение действительно происходит.

Ваша операция будет добавлена ​​только один раз.


СТАРЫЙ, но не ложный ответ:

Как насчет использования переменной экземпляра для запоминания последнего увиденного вращения? Вот так:

if (rotation != lastSeenRotation) {
    // REQUEST image here
}
...