有人知道为什么在setEnabled:仍在工作的情况下,NSControl的isEnabled被删除了吗?
在OS X 10.10(和iOS 8)中,苹果框架中的许多getter/setter方法对都被@property
声明所取代。这既使头部接口更加清晰,也使这些API导入Swift变得更加。。。好吧,Swifty。
// Before
- (BOOL)isEnabled;
- (void)setEnabled:(BOOL)enabled;
// After
@property(getter=isEnabled) BOOL enabled
文档还没有完全更新以反映这一点,因此它错误地将isEnabled
显示为不推荐使用,尽管@property
声明意味着您仍然可以执行以下任何操作:
BOOL foo = [control isEnabled];
[control setEnabled:YES];
BOOL bar = control.enabled;
control.enabled = YES;