Я только что загрузил Xcode6 Beta6 и обнаружил некоторые странные недостатки в своем приложении. После некоторой начальной отладки я обнаружил, что heightForRowAtIndexPath
называется многочисленным дополнительным временем и вызывает некоторые неприятные эффекты.
Обычно я ожидал бы, что heightForRowAtIndexPath
будет называться 2 раза больше, чем строки, которые я показываю. Поэтому, когда я hardcode numberOfRowsInSection
возвращает 3, я должен видеть, что heightForRowAtIndexPath
получает 5 раз. В iOS 7 это так, но когда я тестирую в Xcode6 Beta6, я вижу, что heightForRowAtIndexPath
получает 7 раз. Когда я вернусь 4, метод получится вызванным 9, 5 и его 11. Итак, кажется, что шаблон в два раза больше количества строк, которые я жестко кодирует + 1.
Кто-нибудь еще столкнулся с этой проблемой или нашел способ ее решить? Просто быть в состоянии подтвердить, что это ошибка iOS была бы огромной помощью, потому что тогда я могу отложить дефект на потом, так как Apple может самостоятельно решить эту проблему.
Изменить: Эта проблема все еще существует в Xcode 6 GM
Изменить 2: Apple ответила и закрыла мой отчет об ошибке, вот ответ:
Контракт API делегата заключается в том, что мы можем назвать этот метод настолько, насколько нам нужно.
Я думаю, нам просто нужно иметь дело с этим, и он должен кодировать, чтобы не полагаться именно на то, когда этот делегат вызывается.