0

我刚开始做一个新项目。它有很多遗留代码,我发现了以下代码

@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 总是很弱。

谢谢

4

1 回答 1

3

这里的关键词是遗产

  • 没有优势
  • 默认情况下,所有变量(ivars 和非变量)都是强变量。
于 2016-02-09T14:01:24.250 回答