aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVadim Shpakovski2012-09-19 00:56:51 +0300
committerVadim Shpakovski2012-09-19 00:56:51 +0300
commitdddb527bfbe8de58fb2d6aeb780a25ff15a02ea4 (patch)
treed758c9734df706dd740c90306c489b84676cdcb6
parent20a94672f8a2b11b2af2276c1dd3d5caf296efcb (diff)
downloadMASShortcut-dddb527bfbe8de58fb2d6aeb780a25ff15a02ea4.tar.bz2
Fixes the issue with setting associated User Defaults key twice.
-rw-r--r--MASShortcutView+UserDefaults.m4
1 files changed, 4 insertions, 0 deletions
diff --git a/MASShortcutView+UserDefaults.m b/MASShortcutView+UserDefaults.m
index 1b1b8e5..2c4e285 100644
--- a/MASShortcutView+UserDefaults.m
+++ b/MASShortcutView+UserDefaults.m
@@ -25,6 +25,10 @@ void *kDefaultsObserver = &kDefaultsObserver;
- (void)setAssociatedUserDefaultsKey:(NSString *)associatedUserDefaultsKey
{
+ // First, stop observing previous shortcut view
+ objc_setAssociatedObject(self, kDefaultsObserver, nil, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
+
+ // Next, start observing current shortcut view
MASShortcutDefaultsObserver *defaultsObserver = [[MASShortcutDefaultsObserver alloc] initWithShortcutView:self userDefaultsKey:associatedUserDefaultsKey];
objc_setAssociatedObject(self, kDefaultsObserver, defaultsObserver, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}