将Nib加载为子视图会导致内存泄漏

时间:2016-08-10 13:48:25

标签: ios swift memory-management nib

我创建了一个nib,我将其用作消息的叠加层。 问题是视图控制器没有释放内存,而是每次调用控制器时它都会增加内存。我厌倦了删除子视图,但没有效果:

enter image description here

    override func viewWillAppear(animated: Bool) {
        super.viewWillAppear(animated)

        //init Msg Overlay
        msgOverlay = NSBundle.mainBundle().loadNibNamed("MsgOverlay", owner: self, options: nil)[0] as? MsgOverlay
        msgOverlay.center = AnimationEngine.offScreenLeftPosition
        msgOverlay.delegate = self
        msgOverlay.msgType = .Save
        self.view.addSubview(msgOverlay)
    }

    override func viewWillDisappear(animated:Bool) {
        super.viewWillDisappear(animated)         

        view.subviews.forEach {
            $0.removeFromSuperview()
        } 
    }

0 个答案:

没有答案