2
有谁知道为什么在setEnabled:仍在工作时NSControl的isEnabled已被删除?NSControl isEnabled仅适用于OS X v10.0到OS X v10.9
有谁知道为什么在setEnabled:仍在工作时NSControl的isEnabled已被删除?NSControl isEnabled仅适用于OS X v10.0到OS X v10.9
在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;
谢谢!这也适用于“连续”方法/属性。然而,在'NSControl'文档*中划掉的许多其他声明实际上已被弃用:我试图在[这个答案]中解码这一点(http://stackoverflow.com/a/32102638/2047122 )。 – Ashley 2015-08-19 18:12:37