iOS-判断对象是否包含某个观察者(KVO)
作者:
zwing | 来源:发表于
2023-04-27 14:28 被阅读0次iOS没有提供原生方法去直接判断对象是否包含某个观察者,只能自己写个方法去判断
-(BOOL)targetObj:(NSObject *)obj hasObserverKey:(NSString *)keyPath{
if (obj == nil) {
return NO;
}
if (obj.observationInfo == nil) {
return NO;
}
NSObject *observances = [((__bridge NSObject*)(obj.observationInfo))valueForKeyPath:@"observances"];
if ([observances isKindOfClass:[NSArray class]]) {
for (NSObject *observance in (NSArray *)observances) {
NSString *inKeyPath = [NSString stringWithFormat:@"Key path: %@",keyPath];
NSString *objString = [NSString stringWithFormat:@"%@",observance];
if ([objString containsString:inKeyPath]) {
return YES;
}
}
}
return NO;
}
本文标题:iOS-判断对象是否包含某个观察者(KVO)
本文链接:https://www.haomeiwen.com/subject/blabjdtx.html
网友评论