iOS сохраняет дерево просмотров при тестировании на попадание? - PullRequest
1 голос
/ 09 ноября 2011

У меня есть «таинственное» сохранение в моем приложении, и я смог воспроизвести его в упрощенном виде.У меня есть иерархия представления следующим образом:

  • Базовое представление (UIView):
    • Главное представление (UIView):
      • Button1 (UIRectButton)
    • Вид бокового меню (UIView):
      • Button2 (UIRectButton)

Когда я нажимаю button1 новый вид класса MyView (назовем его view с изображением ) создан и добавлен как подпредставление для Main view . MyView является прямым подклассом UIView , и единственное, что он делает, это отслеживает сохранение, релизы и авто-релизы (вызывая super , конечно).Так что просмотр с изображением сохраняется и все в порядке.

После этого я нажимаю button2 .Вот здесь и происходит «тайна».

Когда я касаюсь кнопки, перед тем, как я могу вспомнить любой обратный вызов, включая touchesBegan , сохраняется просмотр с изображением .еще раз.Стек вызовов показывает, что это что-то из тестирования системы.И никакого выпуска не следует.Ни авто-релиз.

Протестировано на симуляторе и устройстве iOS 5.

Похоже, я что-то упустил.Что я делаю не так?

Редактировать:

Обнаружено, что это нечетное сохранение ничего не испортит и будет выпущено iOS при необходимостиНапример, при настройке суперпредставления (нового или того же) для просмотра.Но мне все еще интересно, по какой причине происходит второе удержание?

...