Тот же код внутри тестового проекта MacOS работает как положено (оба выполняются deinit) в Xcode 9.4.1, а также в Xcode 10.0 (10A255)

чал концепцию управления памятью и нашелdeinit метод не вызывается вXcode 10 beta 6 детская площадка, Первоначально я думал, что могут быть некоторые проблемы в коде. Затем я тестирую один и тот же код на детской площадке Xcode 9.4.1 и в образце приложения Xcode 10 beta 6, все работает как положено (вызывается метод deinit). Это ошибка вXcode 10 beta 6 детская площадка или что-нибудь еще? Я использую код разработчика Apple

class Person {
    let name: String
    weak var apartment: Apartment?

    init(name: String) {
        self.name = name
        print("\(name) is being initialized")
    }

    deinit { print("\(name) is being deinitialized") }
}

class Apartment {
    let unit: String
    weak var tenant: Person?

    init(unit: String) { self.unit = unit
        print("Apartment \(unit) is being initialized")
    }
    deinit { print("Apartment \(unit) is being deinitialized") }
}

do {
    var john: Person?
    var unit4A: Apartment?
    john = Person(name: "John Appleseed")
    unit4A = Apartment(unit: "4A")

    john!.apartment = unit4A
    unit4A!.tenant = john
    john = nil 
    unit4A = nil
}

Ответы на вопрос(1)

Ваш ответ на вопрос