Does anybody know why NSControl's isEnabled has been removed while setEnabled: is still working?
            Asked
            
        
        
            Active
            
        
            Viewed 196 times
        
    1 Answers
2
            In OS X 10.10 (and iOS 8), many of the getter/setter method pairs in Apple's frameworks were replaced by @property declarations. This both makes the header interface clearer and makes the import of those APIs into Swift more... well, Swifty.
// Before
- (BOOL)isEnabled;
- (void)setEnabled:(BOOL)enabled;
// After
@property(getter=isEnabled) BOOL enabled
The documentation hasn't been fully updated to reflect that, so it erroneously shows isEnabled as deprecated, even though the @property declaration means you can still do any of the following:
BOOL foo = [control isEnabled];
[control setEnabled:YES];
BOOL bar = control.enabled;
control.enabled = YES;
        rickster
        
- 124,678
 - 26
 - 272
 - 326
 
- 
                    1Thanks! This also applies to the `continuous` method / property. However many of the other declarations that are crossed out in the `NSControl` docs *are* actually deprecated: I've tried to decode this a bit in [this answer](http://stackoverflow.com/a/32102638/2047122). – Ashley Aug 19 '15 at 18:12