Modify TPCPreferencesUserDefaultsController

It has no use for a singleton as long as TPCPreferencesUserDefaults is used as its backing store
This commit is contained in:
Michael
2024-07-10 14:52:47 -04:00
parent 95c957e8a0
commit f4bf8cc335
3 changed files with 3 additions and 24 deletions
@@ -39,8 +39,6 @@
NS_ASSUME_NONNULL_BEGIN
#define RZUserDefaultsController() [TPCPreferencesUserDefaultsController sharedUserDefaultsController]
@interface TPCPreferencesUserDefaults (TPCPreferencesUserDefaultsLocal)
+ (BOOL)keyIsExcludedFromExportImport:(NSString *)defaultName;
+ (BOOL)keyIsExcludedFromMigration:(NSString *)defaultName;
@@ -57,7 +57,6 @@ TEXTUAL_EXTERN NSNotificationName const TPCPreferencesUserDefaultsDidChangeNotif
/* Trying to create a new instance of TPCPreferencesUserDefaultsController will
return the value of +sharedUserDefaultsController */
@interface TPCPreferencesUserDefaultsController : NSUserDefaultsController
+ (TPCPreferencesUserDefaultsController *)sharedUserDefaultsController;
@end
NS_ASSUME_NONNULL_END
@@ -226,21 +226,6 @@ NSString * const TPCPreferencesUserDefaultsDidChangeNotification = @"TPCPreferen
@implementation TPCPreferencesUserDefaultsController
+ (TPCPreferencesUserDefaultsController *)sharedUserDefaultsController
{
static id sharedSelf = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
sharedSelf = [[self alloc] _initWithSharedDefaults];
[sharedSelf setAppliesImmediately:YES];
});
return sharedSelf;
}
- (instancetype)_initWithSharedDefaults
{
TPCPreferencesUserDefaults *defaults = [TPCPreferencesUserDefaults sharedUserDefaults];
@@ -248,23 +233,20 @@ NSString * const TPCPreferencesUserDefaultsDidChangeNotification = @"TPCPreferen
return [super initWithDefaults:defaults initialValues:nil];
}
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wobjc-designated-initializers"
- (instancetype)init
{
return [self.class sharedUserDefaultsController];
return [self _initWithSharedDefaults];
}
- (nullable instancetype)initWithCoder:(NSCoder *)coder
{
return [self.class sharedUserDefaultsController];
return [self _initWithSharedDefaults];
}
- (instancetype)initWithDefaults:(nullable NSUserDefaults *)defaults initialValues:(nullable NSDictionary<NSString *, id> *)initialValues
{
return [self.class sharedUserDefaultsController];
return [self _initWithSharedDefaults];
}
#pragma clang diagnostic pop
@end