Skip to content

UIView that conforms StatefulViewController protocol cannot be destroyed #71

@YK-Unit

Description

@YK-Unit

UIView that conforms StatefulViewController protocol does not be destroyed.

Here is a StatefulViewControllerDemo.zip to illustrate this issue.

PS: the core code

class StateView: UIView, StatefulViewController {

    public var defaultLoadingView: UIView? {
        let defaultView = UIView()
        defaultView.backgroundColor = UIColor.white

        let label = UILabel()
        label.textColor = UIColor.blue
        label.text = "loading..."
        defaultView.addSubview(label)
        label.snp.makeConstraints { (maker) in
            maker.height.equalTo(20)
            maker.centerX.equalToSuperview()
            maker.top.equalToSuperview().offset(160)
        }
        return defaultView
    }

    public var defaultEmptyView: UIView? {
        let defaultView = UIView()
        defaultView.backgroundColor = UIColor.white

        let label = UILabel()
        label.textColor = UIColor.blue
        label.text = "no content"
        defaultView.addSubview(label)
        label.snp.makeConstraints { (maker) in
            maker.height.equalTo(20)
            maker.centerX.equalToSuperview()
            maker.top.equalToSuperview().offset(160)
        }
        return defaultView
    }


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

        loadingView = defaultLoadingView
        emptyView = defaultEmptyView
        setupInitialViewState()
    }

    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }

    // FIXME: StateView cannot be destroyed
    deinit {
        print("StateView deinit ...")
    }

    func hasContent() -> Bool {
        return false
    }

}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions