我正在为模型类编写一些单元测试代码,并希望在应用退出和重新启动期间模拟类的行为。我可以通过删除和重新分配对象来实现这一点,但是它是一个单例,因此下面的代码没有达到预期的效果:
+ (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
是否有一个简洁的解决方案,以便我可以删除/重新创建对象?