有人知道为什么在setEnabled:仍然有效时,NSControl的isEnabled被删除了吗?
答案 0 :(得分:2)
在OS X 10.10(和iOS 8)中,Apple框架中的许多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;