Ya no tienes que investigar más por todo internet ya que llegaste al sitio correcto, poseemos la solución que buscas sin complicaciones.
Solución:
Directamente de la guía de Swift Language:
class Person
let name: String
init(name: String) self.name = name
var apartment: Apartment?
deinit println("(name) is being deinitialized")
class Apartment
let number: Int
init(number: Int) self.number = number
weak var tenant: Person?
deinit println("Apartment #(number) is being deinitialized")
las propiedades son fuertes por defecto. Pero mire la propiedad del inquilino de la clase “Apartamento”, se declara débil. También puede usar la palabra clave sin propietario, que se traduce como inseguro_no retenido de Objective-C
https://itunes.apple.com/tr/book/swift-programming-language/id881256329?mt=11
Una var es fuerte por defecto. Puede agregar la palabra clave débil antes de una var para que sea débil.
Las propiedades son sólidas de forma predeterminada, pero si desea una propiedad débil, puede:
weak var tenant: Person?
Fuente: https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/AutomaticReferenceCounting.html
Acuérdate de que puedes permitirte decir si te fue de ayuda.