为什么使用ivars代替IBOutlets属性?
问题描述:
我刚开始工作一个新项目。它有很多的遗留代码,我发现下面的代码为什么使用ivars代替IBOutlets属性?
@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;
}
我有几个疑点:
- 什么可以使用专用高德的一个IBOutlet的优势在哪里?
- 为什么添加__weak?正如我在ARC环境中所了解的,ivars总是很薄弱。
感谢
答
的关键词这里是传统
- 没有优势
- 所有变量(实例变量,而不是),默认情况下为强。