У меня есть контроллер вида, который содержит вид прокрутки, представление контента и CATiledLayer
как подслой в представлении содержимого.Прерывание обработки CATiledLayer?
Если я удаляю представление своих контроллеров из своего супервизора, пока CATiledLayer
все еще занят (например, для рендеринга страницы PDF), я получаю самые странные сбои и нулевые ссылки. Похоже, CATiledLayer
не рад, если вы это почувствуете. Есть ли способ, которым я могу прервать то, что он сейчас делает?
Трудно сказать. Я нахожусь в MonoTouch :-) Делегат - это внутренний класс моего контроллера. Я уже обыскал SO и нашел ваш другой пост, но он не работает для меня. Я попытался установить свой делегат в null, но, возможно, что-то не работает в MT. – Krumelur
Я вижу. К сожалению, я понятия не имею о MonoTouch. Я знаю, что CATiledLayer обрабатывает то, что он хочет рисовать в фоновом режиме, а затем вызывает делегата, когда он готов к отображению. Если этот указатель делегата не равен нулю, а указатель не указывает на подходящий класс, тогда вы получите случайные сбои и null refs. – Altealice
Вы были правы в конце! Но одновременно я столкнулся с второй проблемой: для изменения страниц я использую распознаватель жестов. Кажется, в CocoaTouch имеется ошибка, из-за которой обработчик распознавателя запускается во второй раз, если вид, к которому он принадлежит, удаляется из своего супервизора. Это вызвало NULLREF, и я подумал, что это связано с CATiledLayer. – Krumelur