Переопределение переменной вызывает «Сообщение отправлено освобожденному экземпляру» - PullRequest
1 голос
/ 14 апреля 2020

У меня был код, похожий на этот, который вызывал ошибку "- [NSWindow release]: сообщение отправлено на освобожденный экземпляр":

    var w = NSWindow(contentRect: NSMakeRect(100, 100, 500, 500), styleMask: .closable, backing: NSWindow.BackingStoreType.buffered, defer: false)
    w.title = "Window"
    w.makeKeyAndOrderFront(nil)
    //w.isReleasedWhenClosed = false
    w.close()

    w = NSWindow(contentRect: NSMakeRect(100, 100, 500, 500), styleMask: .closable, backing: NSWindow.BackingStoreType.buffered, defer: false)

Когда я добавил закомментированную строку, она работала нормально.

Я просто хотел узнать, ожидается ли это поведение Swift при управлении памятью? Было совершенно неожиданно, что переназначение переменной могло быть причиной этой проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...