swift的arc 是不是有问题?

class Arctest {
    let name: String = "Arctest"
    
    @lazy var ret:() -> String? = {
        [weak self] in
        return self!.name
    }

    @lazy var ret2:() -> String = {
        [unowned self] in
        return self.name
    }

    deinit{
        println("deinit")
    }
    func outest(){
        println("outtest")
    }
}

class Com {
    unowned var arctest: Arctest
    init(arctest: Arctest){
        self.arctest = arctest
    }
}

var i: Arctest? = Arctest()
var c: Com = Com(arctest: i!)
i!.ret()

// ret2 增加了计数,无法释放,不知道怎么回事?
var s: String? = i!.ret2() println(s) s=nil i = nil

难道有问题?

posted @ 2014-06-04 14:59  summernight  阅读(198)  评论(0编辑  收藏  举报