我们知道一般我们采用拖线的方式,生成的属性一般都是@property (weak, nonatomic) IBOutlet UIImageView *Imageicon; 用的是weak其实用strong也没有问题因为没有必要,
画个图解释一下吧,因为如果我们在控制器中通过生成可UIButton这个控件,把这个控件加入到self.view中已经形成了强引用了,控制器根本没有必要再对它进行强引用,用weak就够了在控制器被销毁的时候它们也都会跟着销毁其实都是一样的。
UI控件的代理属性,并不是所有的代理属性都用weak。只是UI必须要用。其他情况有可能会用到strong。为什么,如果我们把tableView加入到了self.view中,self.view就有一个强指针指向它了。如果delegate再用强引用指向了控制器,那就循环引用了。所以我们用weak这样就不会有内存问题了。