dispatch_async(dispatch_get_main_queue(), ^{
        ///
});
static Tools *_sharedManger;
@implementation Tools
+ (SingleTools *)sharedManger{
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        if (!_sharedManger) {
            _sharedManger = [[Tools alloc]init];
        }
        
    });
    return _sharedManger;
}
@end
原文:http://www.cnblogs.com/wangkejia/p/8000583.html