モデル クラスの単体テスト コードを書いていて、アプリの終了時と再起動時のクラスの動作をシミュレートしたいと考えています。オブジェクトを削除して再割り当てすることでこれを実現できますが、それはシングルトンであるため、次のコードでは目的の効果が得られません。
+ (id) sharedInstance
{
static MyModel *singleton = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^ {
singleton = [[MyModel alloc] initSharedInstance];
});
return singleton;
}
// Test code:
MyModel* gModel = [MyModel sharedInstance];
... tests
gModel = nil;
gModel = [MyModel sharedInstance];
... more tests
オブジェクトを削除/再作成できるきちんとした解決策はありますか?