首先纠正一下标题, 不应该叫UI控件, 而是通过xib直接拖拽的UI控件(
@property (weak, nonatomic) IBOutlet UIButton *testBtn;
). 对于新学习的同学可能不太容易理解week属性, 误以为, week是为了解决循环引用的而使用的, 而事实上, 通过xib拖拽的控件属性, 系统自动使用week修饰, 不是为了解决循环引用问题的. 这个应该很好理解, 首选分析什么是循环引用, 循环引用通俗的讲就是你中有我,我中有你, 然而, 对于UI控件来说, 只是容器的view拥有了被拖拽进来的view, 并没有反向的拥有关系, 因此这里构不成循环引用, 那么此处的week必然不是解决循环引用用的, 具体是干什么的呢, 我们可以看一下下图进行分析: