0
我很困惑如何有效地使用singleton
。我希望我的singleton
类的行为类似于[NSUserDefaults standardUserDefaults]
。但是我观察到的是每次创建新对象时,每次都看到不同的内存地址。单身正在创造每次在每次发射
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
MyManager *sharedManager = [MyManager sharedManager];
if(sharedManager.name.length==0) {
sharedManager.name = @"manager";
}
return YES;
}
+ (id)sharedManager {
static MyManager *sharedMyManager = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
sharedMyManager = [[self alloc] init];
});
return sharedMyManager;}
每次启动时,if子句正在执行。
当然是了。单身人士只会在应用程序运行时持续。 'NSUserDefaults'没有什么不同。如果您希望数据在应用程序运行中存活,则需要从文件或其他存储中持久保存和恢复数据。 – rmaddy