1

以前にロードされた View Controller を再ロードしようとすると、アプリケーションがクラッシュします。

MySecondViewController のインターフェイスには、MyCustomClass のインスタンスであるプロパティがあります。

@interface MySecondViewController ()

@property (nonatomic, retain) MyCustomClass *myClassInstance;

@end

ナビゲーション コントローラーで [戻る] を押して MyFirstViewController に戻り、MySecondViewController をリロードしようとすると、MyCustomClass の dealloc メソッドでクラッシュが発生します。スタックの詳細は次のとおりです。

0 objc_release
1 -[MyCustomClass .cxx_destruct]
2 object_cxxDestructFromClass(objc_object*, objc_class*)
4 object_dispose
5 -[MyCustomClass dealloc]
6 -[MySecondViewController .cxx_destruct]

他の場所で MySecondViewController へのポインターを保存していて、そのポインターが MySecondViewController の新しいインスタンスにリセットしようとするとエラーがスローされるために発生するようです。

MyCustomClass は次のようになります。

@interface MyCustomClass () {

int _myInt;

}

@property (readwrite) AUGraph   processingGraph;
@property (readwrite) MusicPlayer player;

@end

@implementation MyCustomClass

@synthesize processingGraph     = _processingGraph;

このクラッシュを引き起こしている明らかな間違いはありますか?

4

0 に答える 0