NSControl仅在OS X v10.0到OS X v10.9中可用



有人知道为什么在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;

相关内容

  • 没有找到相关文章

最新更新