객체의 인스턴스를 추적하여 객체가 할당되고 초기화되는지 또는 nil로 설정되는지 여부를 확인할 수 있습니까?iOS - KVO를 사용하여 객체 인스턴스를 추적하는 중
.h 파일에서 개체를 선언하고 .m 파일에서 시도했습니다.
@interface ViewController : UIViewController
@property (nonatomic, strong) TestObject *testObj;
@end
그런 다음 시도했지만 작동하지 않았습니다.
- (void)viewDidLoad
{
[super viewDidLoad];
[self addObserver:self forKeyPath:@"testObj" options:NSKeyValueObservingOptionInitial | NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld context:nil];
_testObj = [[TestObject alloc] init];
}
볼이 [키 - 값 관측] (http://nshipster.com/key-value-observing/) –
직접 변수에 액세스하는 대신 속성 setter를 사용하는 경우 제대로 작동해야합니다 ("직장"에 대한 귀하의 정의를 올바르게 추측했다고 가정). (즉,'self.testObj = [[TestObject alloc] init];') –
@PhillipMills 감사합니다. 방금 재산 세터를 사용했고 효과가있었습니다! 값을 직접 nil에 할당하면 콜백이 호출되지 않습니다. 이제는 세터와 함께 일하고 있습니다. 다시 한번 감사드립니다. –