ios delegate 使用注意 assign,weak

今天一个同事写代码,把一个delegate对象设定成了assign类型属性,没有用weak,就是delegate对象释放后,不会把delegate指针自动设定为nil,把对象的delegate设定成了UITableViewCell,当这个cell被系统回收后,在通过delegate调用就会crash。我调试时看到delegate指针的确不是nil,纳闷了很久,竟然是因为他用了assign属性。。。。我感觉delegate不应该使用assign!应该使用 weak 才能保证程序的健壮性。

 

assign 就是 unsafe_unretained。

posted @ 2015-08-20 16:31  幻化成疯  阅读(631)  评论(0编辑  收藏  举报