-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathUserDefaults.m
More file actions
157 lines (123 loc) · 3.74 KB
/
UserDefaults.m
File metadata and controls
157 lines (123 loc) · 3.74 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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
//
// UserDefaults.m
//
// Created by yama.
// Copyright 2006-2014 Alpha Version Inc.
//
#import "UserDefaults.h"
#pragma mark - Get value
id UDObject(NSString *key) {
return [[NSUserDefaults standardUserDefaults] objectForKey:key];
}
NSInteger UDInt(NSString *key) {
return [[NSUserDefaults standardUserDefaults] integerForKey:key];
}
BOOL UDBool(NSString *key) {
return [[NSUserDefaults standardUserDefaults] boolForKey:key];
}
float UDFloat(NSString *key) {
return [[NSUserDefaults standardUserDefaults] floatForKey:key];
}
NSString *UDString(NSString *key) {
return [[NSUserDefaults standardUserDefaults] stringForKey:key];
}
NSData *UDData(NSString *key) {
return [[NSUserDefaults standardUserDefaults] dataForKey:key];
}
NSArray *UDArray(NSString *key) {
return [[NSUserDefaults standardUserDefaults] arrayForKey:key];
}
NSDictionary *UDDictionary(NSString *key) {
return [[NSUserDefaults standardUserDefaults] dictionaryForKey:key];
}
#pragma mark - Get value with default value
id UDObjectWithDefault(NSString *key, id defaultValue) {
if (UDObject(key) == nil) {
return defaultValue;
}
return UDObject(key);
}
NSInteger UDIntWithDefault(NSString *key, NSInteger defaultValue) {
if (UDObject(key) == nil) {
return defaultValue;
}
return UDInt(key);
}
BOOL UDBoolWithDefault(NSString *key, BOOL defaultValue) {
if (UDObject(key) == nil) {
return defaultValue;
}
return UDBool(key);
}
float UDFloatWithDefault(NSString *key, float defaultValue) {
if (UDObject(key) == nil) {
return defaultValue;
}
return UDFloat(key);
}
NSString *UDStringWithDefault(NSString *key, NSString *defaultValue) {
if (UDObject(key) == nil) {
return defaultValue;
}
return UDString(key);
}
NSData *UDDataWithDefault(NSString *key, NSData *defaultValue) {
if (UDObject(key) == nil) {
return defaultValue;
}
return UDData(key);
}
NSArray *UDArrayWithDefault(NSString *key, NSArray *defaultValue) {
if (UDObject(key) == nil) {
return defaultValue;
}
return UDArray(key);
}
NSDictionary *UDDictionaryWithDefault(NSString *key, NSDictionary *defaultValue) {
if (UDObject(key) == nil) {
return defaultValue;
}
return UDDictionary(key);
}
#pragma mark - Set value
void UDSetObject(NSString *key, id value) {
if (value) {
[[NSUserDefaults standardUserDefaults] setObject:value forKey:key];
} else {
[[NSUserDefaults standardUserDefaults] removeObjectForKey:key];
}
[[NSUserDefaults standardUserDefaults] synchronize];
}
void UDSetInt(NSString *key, NSInteger value) {
[[NSUserDefaults standardUserDefaults] setInteger:value forKey:key];
[[NSUserDefaults standardUserDefaults] synchronize];
}
void UDSetBool(NSString *key, BOOL value) {
[[NSUserDefaults standardUserDefaults] setBool:value forKey:key];
[[NSUserDefaults standardUserDefaults] synchronize];
}
void UDSetFloat(NSString *key, float value) {
[[NSUserDefaults standardUserDefaults] setFloat:value forKey:key];
[[NSUserDefaults standardUserDefaults] synchronize];
}
void UDSetString(NSString *key, NSString *value) {
if (value) {
[[NSUserDefaults standardUserDefaults] setObject:value forKey:key];
} else {
[[NSUserDefaults standardUserDefaults] removeObjectForKey:key];
}
[[NSUserDefaults standardUserDefaults] synchronize];
}
void UDSetData(NSString *key, NSData *value) {
UDSetObject(key, value);
}
void UDSetArray(NSString *key, NSArray *value) {
UDSetObject(key, value);
}
void UDSetDictionary(NSString *key, NSDictionary *value) {
UDSetObject(key, value);
}
#pragma mark - Synchronize
void UDSync() {
[[NSUserDefaults standardUserDefaults] synchronize];
}