你好,kvo拦截时出现一个问题
Created by: OneTaoist
- (void)clearKVOData{ for (KVOObjectItem* item in self.kvoObjectSet) { //Invoke the origin removeObserver,do not check array handleCrashException(YJExceptionGuardKVOCrash,[NSString stringWithFormat:@"KVO forgot remove keyPath:%@ from which object:%@",item.keyPath,NSStringFromClass(object_getClass(self.whichObject))]); #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wundeclared-selector" @try { ((void()(id,SEL,id,NSString))objc_msgSend)(self.whichObject,@selector(hookRemoveObserver:forKeyPath:),item.observer,item.keyPath); }@catch (NSException *exception) { handleCrashException(YJExceptionGuardKVOCrash,[exception reason]); } #pragma clang diagnostic pop } }
会在object_getClass(self.whichObject) 崩溃,麻烦看下