为什么要将ivars用于IBOutlets而不是属性?

时间:2016-02-09 13:49:29

标签: ios objective-c properties automatic-ref-counting ivars

我刚刚开始研究一个新项目。它有很多遗留代码,我找到了以下代码

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

由于

1 个答案:

答案 0 :(得分:3)

这里的关键词是传统

  • 没有优势
  • 默认情况下,所有变量(ivars和非变量)都很强。