ish/app/NSObject+SaneKVO.h
2020-11-14 16:49:55 -08:00

34 lines
687 B
Objective-C

//
// NSObject+SaneKVO.h
// iSH
//
// Created by Theodore Dubois on 11/10/20.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface KVOObservation : NSObject {
BOOL _enabled;
__weak id _object;
NSString *_keyPath;
void (^_block)(void);
}
- (void)disable;
@end
@interface NSObject (SaneKVO)
- (KVOObservation *)observe:(NSString *)keyPath
options:(NSKeyValueObservingOptions)options
usingBlock:(void (^)(void))block;
- (void)observe:(NSArray<NSString *> *)keyPaths
options:(NSKeyValueObservingOptions)options
owner:(id)owner
usingBlock:(void (^)(id))block;
@end
NS_ASSUME_NONNULL_END