내비게이션 기반 앱이 있습니다. 기본보기에서 버튼을 누르면 내비게이션 컨트롤러에 새보기가 푸시됩니다. 모든 기본적인 것들.asihttprequest가 내 앱을 닫습니다.
새로운보기가로드되면 이미지 URL 목록 인 일부 json 데이터를 가져 오기 위해 ASIHTTPRequest를 수행합니다. 그런 다음 for 루프를 수행하고 많은 수의 ASIHTTPRequests를 작성한 다음 대기열에 추가 한 다음 대기열을 실행합니다.
대기열이 완료되기 전에 뒤로 버튼을 클릭하면 응용 프로그램이 다운되고이 응용 프로그램은 집을 표시하고 잘못된 집을 선택하고 사진이 표시되기 전에 매우 빨리 뒤로 돌아서 bumm crash를 할 수 있습니다.
이 스레드 http://groups.google.com/group/asihttprequest/browse_thread/thread/3d4815198aa889b9은 뷰에 대한 모든 요청을 취소하지 않고 델리게이트를 nil로 설정하고 큐를 해제한다는 것을 제외하고는 내 문제를 실제로 잘 설명합니다.
여전히 충돌합니다. 3G를 사용하면 매번 충돌이 발생하지만 Wi-Fi를 사용하면 충돌을 일으키기가 정말 어렵지만 꽤 할 수 있습니다. 디버거가 ASIHTTPRequest.m이 라인에 점프
(void)requestReceivedResponseHeaders:(NSMutableDictionary *)newResponseHeaders {
if ([self error] || [self mainRequest]) { return; }
--> if (delegate && [delegate respondsToSelector:didReceiveResponseHeadersSelector]) {
많은 많은 경우에 점프 거의 80 %의 경우에
:이 간다 인스턴스의 소수에
(void)requestReceivedResponseHeaders:(NSMutableDictionary *)newResponseHeaders {
if ([self error] || [self mainRequest]) { return; }
---> if (delegate && [delegate respondsToSelector:didReceiveResponseHeadersSelector]) {
광고를 내 메인 루프
int main(int argc, char *argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
--> int retVal = UIApplicationMain(argc, argv, nil, nil); with SIGBART error [pool release]; return retVal;
저는 MBP와 MacPro, 최신 OS X, Xcode 4.0.2를 사용하고 있습니다. 원래 iPhone을 제외하고 pple 장치.
정말 내 전체 앱을 다시 쓰고 싶지 않지만 ASIHTTPRequest와 비교해 볼만한 것이 있습니까?
좋은 답변, 그 작업 – KsK
두 번째 방법을 사용하면 실제로 작동합니다. 감사. 나는 이것에 너무 오래 걸렸다. 건배. –