我刚开始做一个新项目。它有很多遗留代码,我发现了以下代码
@interface WLLeftSideViewController : UIViewController {
@private
__weak IBOutlet UIButton *_signInButton;
__weak IBOutlet UIButton *_signOutButton;
__weak IBOutlet UILabel *_nameLabel;
__weak IBOutlet UILabel *_emailLabel;
__weak IBOutlet WLLeftSideMenuView *_tableView;
__weak IBOutlet UIButton *_settingsButton;
__weak IBOutlet NSLayoutConstraint *_heightConstraint;
}
我有几个疑问:
- 将私有 ivars 用于 IBOutlet 有什么好处?
- 为什么要添加 __weak?据我了解,在 ARC 环境中,ivars 总是很弱。
谢谢