OK、状況は少し複雑ですが、問題自体の性質は、私よりも Cocoa メモリ管理に詳しい人にとっては非常に単純なはずです。
いくつかの詳細: - メイン アプリから、「ロード可能な」バンドル (で構成されるNSWindowController) をロードしています - 両方のプロジェクト (メイン アプリと「プラグイン」) は ARC 対応です
私のプラグイン コードには、カスタムの初期化メソッドがあります。
- (id)initWithAPI:(id)api
{
    pluginWindowController* newPluginWindowController = [super initWithWindowNibName:@"PluginWindow"];
    if (newPluginWindowController)
    {
        [newPluginWindowController setAPI:api];
    }
    return newPluginWindowController;
}
これはAPI宣言されている方法です:
@property (unsafe_unretained) id API;
さて、ここにキャッチがあります:
- 私は使用initWithAPI:して初期化しておりAPI、設定されています。
- APIの値をテストしているときでも、- - (void)windowDidLoad:問題なく表示されます。
- ただし、別のメソッド内からまったく同じことを実行しようとすると(実際には、プラグインのウィンドウのボタンクリックによってトリガーされるIBAction)...取得しようとするとエラーが[self API]トリガーされEXC_BAD_ACCESSます。
私は何を間違っていますか?何か案は?