mirror of
https://github.com/Codeux-Software/Textual.git
synced 2026-06-16 13:24:32 +00:00
Modify TPCPreferencesUserDefaultsController
It has no use for a singleton as long as TPCPreferencesUserDefaults is used as its backing store
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user