创建单例的方法:
@interface Singleton : NSObject
+ (instancetype)sharedInstance;
@end
@implementation Singleton
+ (instancetype)sharedInstance
{
static id sharedInstance = nil;
static dispatch_once_t onceToken = 0;
dispatch_once(&onceToken, ^{
sharedInstance = [[self alloc] init];
});
return sharedInstance;
}
-(void)printSome{
NSLog(@"This is Singleton!");
}
@end用GCD创建单例,dispatch_once 保证单例只被创建一次,保证线程安全。
NSString字符串还可以这样用
static NSString * a[3]={@"nihoa",@"nioa",@"afad"};
这样的好处是:设置静态的字符串,能不用#define 就尽量不要用,不然会让编译过慢
本文介绍了一种使用GCD(Grand Central Dispatch)中的dispatch_once函数来创建线程安全的单例模式的方法,并展示了如何在Objective-C中实现。此外,还提供了一个关于静态字符串初始化的技巧。
314

被折叠的 条评论
为什么被折叠?



