2011-10-17 9 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 

私はCocoaとAppKitのフレームワークを含んでいます。

+1

Nektoはコメントで示唆したように、このコードから欠落しているものがあります。上記のように、これはクラッシュしません。単純にするために他に何を削除しましたか? – jrturton

+0

@jrturtonその他 – jingo

+0

AppControllerをどのように初期化していますか?それはXIBにありますか?このコードは書かれているとおりに正しいので、バグはクラスの外部にある必要があります。 –

答えて

0

selfがアイバーズの値を変更する前にinit方法ではnilでない場合の方法は確認してください。

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

私はそれを単純にするために削除することを知っています。私の場合は何の問題もない。 – jingo

+2

あなたはあなたの 'init'コードを全てポストしますか? – Nekto

関連する問題