2011-02-09 3 views
1

두 개의 라벨과 두 개의 이미지보기를 하위보기에 추가합니다.프로그램 수신 신호 : 기본보기에 하위보기를 추가하는 동안 "EXC_BAD_ACCESS"

버튼을 탭하면 메인 뷰에이 서브 뷰를 추가 할 때가 있습니다.

웹 서버에서 이미지를 가져 와서 로컬 시뮬레이터 문서에 저장합니다.

NSMutableString *about_name_str = [[NSMutableString alloc]init]; 
    [about_name_str appendString:[myDictionary objectForKey:@"firstname"]]; 
    [about_name_str appendString:@" "]; 
    [about_name_str appendString:[myDictionary objectForKey:@"lastname"]]; 
    [about_name_label setText:about_name_str]; 
    NSMutableString *about_addr_str = [[NSMutableString alloc]init]; 
    [about_addr_str appendString:[myDictionary objectForKey:@"state"]]; 
    [about_addr_str appendString:@","]; 
    [about_addr_str appendString:[myDictionary objectForKey:@"country"]]; 
    [about_addr_label setText:about_addr_str]; 
    about_image.image = [UIImage imageWithContentsOfFile:imagepath]; 
    about_logo.image = [UIImage imageWithContentsOfFile:logopath]; 
    if ([myDictionary objectForKey:@"companyurl"]) { 
     [about_url_button setTitle:[myDictionary objectForKey:@"companyurl"] forState:UIControlStateNormal]; 
     about_url_button.userInteractionEnabled = YES; 
    } 
    else { 
     about_url_button.userInteractionEnabled = NO; 
    } 




     [self.view addSubview:about_view]; 

이 코드는 내 코드입니다.

몇 번이고 Program received signal: "EXC_BAD_ACCESS".이 발생하고 응용 프로그램이 종료됩니다.

나는 브레이크 포인트를 배치하여 검사하고 디버거에서는 오류가 발생하는 곳을 찾지 못했습니다.

아무도 도와주세요, 어떻게 해결할 수 있습니까?

미리 감사드립니다.

+0

가 어디 코드 crashs를 알고 계십니까이 링크를 참조하십시오? –

+0

1.'[NSString stringWithFormat : @ "% @ % @", [myDictionary objectForKey : @ "firstname"], [myDictionary objectForKey @ "secondname"]];'를 사용해야합니다. 다시 읽는 것이 더 효율적이고 즐겁습니다. 2. 절대로 _s를 변수 이름에 넣지 마십시오! 그 끔찍한. objectivec 변수 이름에서'about_url_button' 대신에'aboutUrlButton'을 사용해야합니다. –

+0

3. about_view를 만드는 위치를 볼 수 있습니까? 앱 실행 인수에서 NSZombieEnabled를 YES로 설정하고 오류가 있는지 확인하십시오. –

답변

2

시도 그것은 개체가 해제됩니다 어디서, 어떤하는 방법 (내가 악기처럼 그것의 꽤 멋진 개념) ...

를 지정하는 것입니다 ... 그것은 EXCBADACCESS이 발생하는 위치 찾을 수있는 쉬운 방법입니다 .. NSZombie를 사용하는

http://www.markj.net/iphone-memory-debug-nszombie/

-1

이 코드를 실행하기 전에 중단 점을 삽입 한 다음 단계별로 실행하여 잘못된 액세스의 원인이되는 정확한 줄을 찾아야합니다. 어딘가에 널 포인터 또는 와일드 포인터가있을 수 있습니다.

+0

그는 다음과 같이 썼습니다. "중단 점을 삽입하여 검사하고 디버거에서 오류가 발생한 부분을 얻지 못했습니다." –

+0

이것은 코멘트입니다. –

관련 문제