我有一个名为IGMapViewController
在那我有
static IGMapViewController *instance =nil;
+(IGMapViewController *)getInstance {
@synchronized(self) {
if (instance==nil) {
instance= [IGMapViewController new];
}
}
return instance;
}
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// more code
instance = self;
}
return self;
}
如果在超过 1 个类中使用该对象,但仅initWithNibName
在一个类中使用。
IGRouteController
在以 init 方法命名的类中,我使用_mapViewController = [IGMapViewController getInstance];
这发生initWithNibName
在另一个类中执行之前。
在IGRouteController
我使用的那个方法中有一个方法updateRouteList
:
[_mapViewController drawSuggestedRoute:suggestedRoute];
这一切都运行了,但我看不到结果。
如果我使用:
IGMapViewController *wtf = [IGMapViewController getInstance];
[wtf drawSuggestedRoute:suggestedRoute];
然后它确实工作得很好。
那么是否有可能获得一个实例并稍后使用 nib 进行初始化?