Медленное время загрузки пользовательского UIView со свойством UITextView в Swift

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

Я настроил свой тестовый проект с двумя контроллерами представления. Кнопка на первом контроллере представления вызывает переход к шоу второго контроллера представления. На втором контроллере вида есть мой собственный вид. (Использование второго контроллера представления позволило мне понять, сколько времени потребовалось для загрузки пользовательского представления.)

Код пользовательского просмотра:

import UIKit

@IBDesignable class UIMongolTextView: UIView {

    var textView = UITextView() // key line

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
    }

    override init(frame: CGRect){
        super.init(frame: frame)
    }
}

Как видите, единственное отличие отUIView это то, что я добавилUITextView имущество. И именно этот пользовательский вид загружается очень медленно. Запустив инструмент Allocations в Instruments, я получаю следующие результаты (количество 997):

Однако, если я закомментирую строку

    //var textView = UITextView()

тогда я пользовательский вид загружается очень быстро и имеет только 7.

Что здесь происходит? Можно ли использоватьUITextView свойство в пользовательском представлении и избежать этого медленного времени загрузки?

Ответы на вопрос(4)

Ваш ответ на вопрос