-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMSStringifyMacros_UserDefaults.h
More file actions
68 lines (52 loc) · 4.14 KB
/
MSStringifyMacros_UserDefaults.h
File metadata and controls
68 lines (52 loc) · 4.14 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
//
// MSStringifyMacros_UserDefaults.h
// MSStringifyMacros
//
// Created by Murray Sagal on 2/20/2014.
// Copyright (c) 2014 Murray Sagal. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
//
#import "MSStringifyMacro.h"
#define SUD [NSUserDefaults standardUserDefaults]
#define MSSetDefaultForBool(BOOL) [SUD setBool:BOOL forKey:MSStringify(BOOL)]
#define MSDefaultForBool(BOOL) BOOL = [SUD boolForKey:MSStringify(BOOL)]
#define MSSetDefaultForDouble(double) [SUD setDouble:double forKey:MSStringify(double)]
#define MSDefaultForDouble(double) double = [SUD doubleForKey:MSStringify(double)]
#define MSSetDefaultForFloat(float) [SUD setFloat:float forKey:MSStringify(float)]
#define MSDefaultForFloat(float) float = [SUD floatForKey:MSStringify(float)]
#define MSSetDefaultForInteger(integer) [SUD setInteger:integer forKey:MSStringify(integer)]
#define MSDefaultForInteger(integer) integer = [SUD integerForKey:MSStringify(integer)]
#define MSSetDefaultForObject(object) [SUD setObject:object forKey:MSStringify(object)]
#define MSDefaultForObject(object) object = [SUD objectForKey:MSStringify(object)]
#define MSRemoveDefaultForObject(object) [SUD removeObjectForKey:MSStringify(object)]
#define MSDefaultDoesNotExistForObject(object) [SUD objectForKey:MSStringify(object)] == nil
#define MSDefaultExistsForObject(object) [SUD objectForKey:MSStringify(object)] != nil
#define MSDefaultForArray(array) array = [SUD arrayForKey:MSStringify(array)]
#define MSDefaultForMutableArray(mutableArray) mutableArray = [[SUD arrayForKey:MSStringify(mutableArray)] mutableCopy]
#define MSDefaultForData(data) data = [SUD dataForKey:MSStringify(data)]
#define MSDefaultForMutableData(mutableData) mutableData = [[SUD dataForKey:MSStringify(mutableData)] mutableCopy]
#define MSDefaultForDictionary(dictionary) dictionary = [SUD dictionaryForKey:MSStringify(dictionary)]
#define MSDefaultForMutableDictionary(mutableDictionary) mutableDictionary = [[SUD dictionaryForKey:MSStringify(mutableDictionary)] mutableCopy]
#define MSDefaultForString(string) string = [SUD stringForKey:MSStringify(string)]
#define MSDefaultForMutableString(mutableString) mutableString = [[SUD stringForKey:MSStringify(mutableString)] mutableCopy]
#define MSDefaultForStringArray(stringArray) stringArray = [SUD stringArrayForKey:MSStringify(stringArray)]
#define MSDefaultForStringArrayMutable(stringArrayMutable) stringArrayMutable = [[SUD stringArrayForKey:MSStringify(stringArrayMutable)] mutableCopy]
#define MSSetDefaultForURL(url) [SUD setURL:url forKey:MSStringify(url)]
#define MSDefaultForURL(url) url = [SUD URLForKey:MSStringify(url)]