以前にロードされた 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;
このクラッシュを引き起こしている明らかな間違いはありますか?