2011-10-17 2 views
1

나는 "프로그램은 신호를 수신 : EXC_BAD_ACCESS"을 취득하고 여기 EXC_BAD_ACCESS를 받기

내 인터페이스

#import <Cocoa/Cocoa.h> 


@interface AppController : NSObject { 
    NSSpeechSynthesizer *speechSynth; 
} 

및 구현 이유를 알아낼 수 없습니다

#import "AppController.h" 


    @implementation AppController 

    - (id)init 
    { 
     self = [super init]; 

     // HERE I GET Program received signal: EXC_BAD_ACCESS 
     speechSynth = [[NSSpeechSynthesizer alloc] initWithVoice:nil]; 
     return self; 
    } 
    @end 

코코아 및 AppKit 프레임 워크를 포함했습니다.

+1

이 코드에서 누락 된 무언가가있다. 위에 적혀 있듯이, 이것은 충돌하지 않을 것입니다. 단순함을 위해 그 외 무엇을 제거 했습니까? – jrturton

+0

@jrturton 다른 사람 – jingo

+0

어떻게 AppController를 초기화합니까, XIB에 있습니까? 이 코드는 작성된대로 정확하므로 버그는 클래스 외부에 있어야합니다. –

답변

0

self는 인스턴스 변수의 값을 변경하기 전에 init 방법에 nil이 아닌 경우 방법 확인 : Nekto 댓글에서 알 수 있듯이

- (id)init 
{ 
    self = [super init]; 
    if (self) 
    { 
     speechSynth = [[NSSpeechSynthesizer alloc] initWithVoice:nil]; 
    } 
    return self; 
} 
+0

나는 그것이 단순함을 위해 그것을 제거한다는 것을 안다. 어쨌든 내 사건에는 문제가되지 않아. – jingo

+2

그래서 여러분은'init' 코드를 더 잘 poost 하시겠습니까 ??? – Nekto

관련 문제