苹果公司最新的单实例代码使用了GCD技术
1
2
3
4
5
6
7
8
|
+ (MAMapView2*)instance{
static
MAMapView2* _gg_mapView;
static
dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
_gg_mapView = [[MAMapView2 alloc]init];
});
return
_gg_mapView;
}
|
本例是MAMapView2类的单实例接口,其中GCD技术保证了block中的第5行代码在整个程序中只调用一次。
如果没有使用ARC技术,需要在整个程序结束的时候释放单例,并且只能释放一次。