日記
にくをやいている
今日書いたコード
class Owner { var weak: Weak? var unow: Unow? } class Weak { weak var own: Owner? deinit { print("Weak") } } class Unow { unowned var own: Owner? deinit { print("Unow") } } var owner: Owner? = Owner() var weak: Weak? = Weak() var unow: Unow? = Unow() owner?.weak = weak owner?.unow = unow weak?.own = owner unow?.own = owner owner = nil print(weak?.own == nil) // true print(unow?.own == nil) // runtime error
感想
weak
って名前のプロパティ作れるのか.
unownedなオプショナルプロパティを説明する節があった.なにか注意することがあるのかと思って混乱したけど,結局ARCはunownedなプロパティには触らないからユーザが管理するというだけの話でいい気がする.