Хорошо, во-первых, то, что вы разместили здесь, не то, что вы используете, или вы внесли изменения в InternetImage, о которых вы не упомянули, поскольку InternetImage не отвечает на initWithUrl: object :. Вы также не включили код в метод делегата internetImageReady :. Я понимаю, что он не вызывается, когда что-то идет не так, но он вызывается, когда вы начинаете прокручивать, а контраст с тем, что происходит в правильном случае, поможет людям диагностировать вашу проблему.
Кроме того, из вашего описания не совсем понятно, что происходит при прокрутке. Очевидно, что последующие вызовы работают, но все ли ранее предпринятые соединения внезапно начинаются в этой точке или они полностью потеряны?
Что касается того, что происходит, по причинам, изложенным выше, я не верю, что кто-то может сделать больше, чем дать вам некоторые догадки. Если бы мне пришлось поспорить, что если то, что я сказал в последнем абзаце, происходит, то ваша проблема заключается в том, что (по какой-то причине) основной поток запускает поток не обрабатывает события NSURLConnections, пока что-то не заправит насос. Это может быть по ряду причин, например, когда цикл запуска находится в неправильном режиме. Вы можете попробовать запустить NSRunLoop вручную или перейти на InternetImage, чтобы явно установить runloop, или вручную начать загрузку.
Два быстрых побега
- InternetImage, кажется, делает много вещей, которые идиоматически несовместимы с общими соглашениями о программировании Какао. По крайней мере, для меня это затрудняет быстрое чтение, и я не совсем уверен, что все делает правильно.
- Не используйте _imageScaledToSize :. Это частный метод Apple, и если они заметят, что вы используете его, это может привести к отклонению.