Objective c 尝试创建NSSpeechSynthesizer实例时获取EXC_BAD_访问权限

Objective c 尝试创建NSSpeechSynthesizer实例时获取EXC_BAD_访问权限,objective-c,xcode,macos,cocoa,Objective C,Xcode,Macos,Cocoa,我收到“程序接收信号:EXC\u坏访问”,我不知道为什么 这是我的界面 #import <Cocoa/Cocoa.h> @interface AppController : NSObject { NSSpeechSynthesizer *speechSynth; } 我已经包括了Cocoa和AppKit框架在更改IVAR值之前,您应该始终检查init方法中的self是否为nil: - (id)init { self = [super init]; if

我收到“程序接收信号:EXC\u坏访问”,我不知道为什么

这是我的界面

#import <Cocoa/Cocoa.h>


@interface AppController : NSObject {
    NSSpeechSynthesizer *speechSynth;
}

我已经包括了Cocoa和AppKit框架

在更改IVAR值之前,您应该始终检查
init
方法中的
self
是否为nil:

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

我知道,为了简单起见,请删除它。无论如何,这在我的例子中不是问题。正如Nekto在评论中所建议的,这段代码中缺少了一些东西。如上所述,这不会崩溃。为了简单起见,您还删除了哪些内容?如何初始化AppController,它是在XIB中实现的?这段代码是正确的,所以bug必须在类外部。
- (id)init
{
    self = [super init];
    if (self)
    {
        speechSynth = [[NSSpeechSynthesizer alloc] initWithVoice:nil];
    }
    return self;
}