나는 JSONNetworkUtility라는 서비스 개체를 가지고 있고, 나는 나의 바르 등의 모델뿐만 아니라 동일한 이름을 가진 합성 특성에 저장, 비 원자 및 유지 :왜 내 속성 getter NSZombie 오류가 발생합니까?
이myNetworkUtility = [[JSONNetworkUtility alloc] initNetworkConnectionWithURL:urlString withQueryString:nil delegate:self];
대리인은이 콜백, 하나를 포함 networkUtility:didFailWithError:
이고 다른 하나는 networkUtility:didFinishWithData:
입니다.
- (void)networkUtility:(JSONNetworkUtility *)networkUtility didFinishWithData:(NSArray *)jsonArray
{
NSLog(@"myNetworkUtility = %@", myNetworkUtility);
// returns <JSONNetworkUtility: 0x3944450>
NSLog(@"networkUtility = %@", networkUtility);
// also returns <JSONNetworkUtility: 0x3944450>
NSLog(@"self.myNetworkUtility = %@", self.myNetworkUtility);
// fails and throws an NSZombie error!
}
내가 그 줄에 얻을 오류는 다음과 같습니다 : 이상한 것은이 속성은 몇 가지 이상한 오류의 원인이되는 것입니다
을 ***은 - [MyModel myNetworkUtility] : 메시지가 전송 할당 해제 된 인스턴스로 0x148190
나는 완전히 엉망이다! 게터에서 왜 실패하는지에 대한 단서가 있습니까? 왜 완전히 다른 대상을 돌려주는 것일까 요?
내가 getter를 사용하는 이유는 내가 self.myNetworkUtility = nil
을 사용하고 싶었 기 때문에 새 객체로 속성의 맨 위에 쓸 수 있지만이 추적으로 다시 잘라 버렸고 여전히 문제가 발생했습니다 ...
고마워요!
동일한 메서드에서 위의 개체에 대한 대리자 호출을 게시하는 것에 대해 언급하지는 못했지만 위의 행을 게시하지 않았습니다. 이것은 호출이 완료되었다는 메시지를 보내고 MyModel을 해제합니다 ... 따라서 getter를 참조하는 추적이 실패합니다. – jowie