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