문제

나는 현재 비동기식으로 사용하고 있습니다 NSURLConnection 몇 가지 UIViews (모든 뷰 손잡이 NSURLConnection 대의원으로). 내가 가진 문제는 사용자 스위치가 너무 빨리보고 대의원이되는 것입니다. NSZombie 앱 충돌 - 즉 NsurlConnection에는 더 이상 살아있는 대의원이 없습니다. 그래서 첫 번째 질문은 이것을 우회하는 방법이 있는지 여부입니다.

두 번째 질문은 간단합니다. Nszombie를 어떻게 처리합니까? 단순한 if(myObject != nil).. 전혀 작동하지 않습니다.

도움이 되었습니까?

해결책

당신은 필요합니다 취소 그만큼 NSURLConnection 처분하기 전에 대의원입니다. 당신의 nsurlconnection에 대한 참조를 유지하십시오 UIView 그것은 대의원과 전화 역할을합니다 [urlConnection cancel].

해당 포인터를 계속 사용하면 메시지를 릴리스 한 후에는 포인터를 NIL로 설정해야합니다. 예로서:

id myObject = [[SomeObject alloc] init];

/* Some code */

[myObject release];
myObject = nil;

/* Some more code */

if (myObject != nil) {
   [myObject doSomething];
}

그러나 메시지를 보내는 것이 유효합니다. nil 따라서 메시지 보내는 메시지를 안전하게 보호 할 필요가 없습니다. 단순히 효과가 없다면 효과가 없습니다 myObject == nil.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top