2017-02-04 4 views
0

Это, как создать и выпустить собственный UIWindow:Пользовательское UIWindow и его корень UINavigationController не удаляются

class mainViewController: UIViewController { 

    var customWindow: UIWindow? 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     self.customWindow = UIWindow() 
     self.customWindow!.rootViewController = UINavigationController(rootViewController: UITableViewController(style: .plain)) 
     self.customWindow!.isHidden = false 
    } 

    deinit { 
     self.customWindow?.rootViewController = nil 
     self.customWindow?.isHidden = true 
     self.customWindow = nil 
    } 
} 

После deinit, customWindow все еще существует в иерархии представлений отладки, что это то, что мне не хватает?

ответ

-1

Ниже рабочий код и полностью избавляется от UIWindow и его родственной иерархии:

if let rootVC = self.customWindow?.rootViewController { 
    rootVC.dismiss(animated: false, completion: nil) 
    self.customWindow = nil 
} 
+0

Почему downvote, после выполнения выше коды, UIWindow было удалена, я проверил его в иерархии зрения отладки, пожалуйста, объясните, если что-то я делаю неправильно, большое спасибо! – AamirR

+0

Анонимные голоса - одна из моих наименее любимых функций Stack Overflow. Как вы должны решить проблему (если она действительно есть), не зная, почему человек проголосовал? Я никогда не голосую за ответ другого человека на вопрос, на который я ответил, но я проголосую за других. – AamirR

Смежные вопросы