Когда вы вызываете Bundle.main.loadNibNamed
в вашем методе setUpView
, представление загружается из пера, и поэтому вызывается awakeFromNib
, что, в свою очередь, вызывает setUpView
, что приводит к бесконечному l oop.
Я не уверен, почему вам нужно загрузить только представление контента из пера, а затем добавить его в качестве подпредставления вместо загрузки всего пользовательского представления из пера. Но если вы настаиваете так, по крайней мере, после загрузки представления содержимого из nib, установите переменную экземпляра, скажем, возможно contentView: View?
, в представление загруженного содержимого. И добавьте проверку в setUpView
, где, если представление содержимого не равно nil, просто верните.
И перо, которое вы загружаете в свой setUpView
, поскольку оно предназначено только для просмотра содержимого, должно определенно не быть self.nib