|
7 | 7 |
|
8 | 8 | @implementation NSObject (YMOptionsAndDefaults) |
9 | 9 |
|
10 | | -#define kYMStandardOptionsTableName @"YMStandardOptionsTableName" |
11 | | -#define kYMStandardDefaultsTableName @"YMStandardDefaultsTableName" |
| 10 | +static char const * const kYMStandardOptionsTableName = "YMStandardOptionsTableName"; |
| 11 | +static char const * const kYMStandardDefaultsTableName = "YMStandardDefaultsTableName"; |
12 | 12 |
|
13 | 13 | - (void)ym_registerOptions:(NSDictionary *)options |
14 | 14 | defaults:(NSDictionary *)defaults |
15 | 15 | { |
16 | | - objc_setAssociatedObject(self, (__bridge const void *)(kYMStandardOptionsTableName), options, OBJC_ASSOCIATION_RETAIN_NONATOMIC); |
17 | | - objc_setAssociatedObject(self, (__bridge const void *)(kYMStandardDefaultsTableName), defaults, OBJC_ASSOCIATION_RETAIN_NONATOMIC); |
| 16 | + objc_setAssociatedObject(self, kYMStandardOptionsTableName, options, OBJC_ASSOCIATION_RETAIN_NONATOMIC); |
| 17 | + objc_setAssociatedObject(self, kYMStandardDefaultsTableName, defaults, OBJC_ASSOCIATION_RETAIN_NONATOMIC); |
18 | 18 | } |
19 | 19 |
|
20 | 20 | - (id)ym_optionOrDefaultForKey:(NSString*)optionKey |
21 | 21 | { |
22 | | - NSDictionary *options = objc_getAssociatedObject(self, (__bridge const void *)(kYMStandardOptionsTableName)); |
23 | | - NSDictionary *defaults = objc_getAssociatedObject(self, (__bridge const void *)(kYMStandardDefaultsTableName)); |
| 22 | + NSDictionary *options = objc_getAssociatedObject(self, kYMStandardOptionsTableName); |
| 23 | + NSDictionary *defaults = objc_getAssociatedObject(self, kYMStandardDefaultsTableName); |
24 | 24 | NSAssert(defaults, @"Defaults must have been set when accessing options."); |
25 | 25 | return options[optionKey] ?: defaults[optionKey]; |
26 | 26 | } |
|
0 commit comments