react-native-userdefaults-ios
v0.1.3
Published
React Native Module for NSUserDefaults
Downloads
242
Maintainers
Readme
react-native-userdefaults-ios
React Native Module for NSUserDefaults
This library is especially helpful for hybrid apps that already make use of [NSUserDefaults standardUserDefaults]
and would like to read or write to it from within their React components.
Add it to your project
- Run
npm install react-native-userdefaults-ios --save
- Open your project in XCode, right click on
Libraries
and clickAdd Files to "Your Project Name"
. - Select the
RNUserDefaults.xcodeproj
file in thenode_modules/react-native-userdefaults-ios
folder and clickAdd
- In the Xcode Project Navigator find the
RNUserDefaults.xcodproj
and add theProducts/libRNUserDefaultsIOS.a
toBuild Phases -> Link Binary With Libraries
. - Follow the implementation example below...
Example
// Require the library...
var UserDefaults = require('react-native-userdefaults-ios');
Writing to standardUserDefaults
//Set an Array...
var arr = ['1', '2', '3'];
UserDefaults.setArrayForKey(arr, 'keyForMyArray')
.then(result => {
console.log(result);
});
// Set a String...
UserDefaults.setStringForKey('myString', 'keyForMyString')
.then(result => {
console.log(result);
});
//Set an Object...
var obj = {
name: 'Dave'
};
UserDefaults.setObjectForKey(obj, 'keyForMyObject')
.then(result => {
console.log(result);
});
//Set a boolean value...
UserDefaults.setBoolForKey(true, 'keyForMyBool')
.then(result => {
console.log(result);
});
//Remove an item (works for any type)...
UserDefaults.removeItemForKey('keyOfItemToRemove')
.then(result => {
console.log(result);
});
Reading from standardUserDefaults
// Get an array for a given key...
UserDefaults.arrayForKey('keyForMyArray')
.then(array => {
//Do something with the returned array...
array.forEach(item => {
console.log(item);
});
});
// Get a string for a given key...
UserDefaults.stringForKey('keyForMyString')
.then(string => {
//Do something with the returned string...
console.log(string);
});
// Get an object for a given key...
UserDefaults.objectForKey('keyForMyObject')
.then(obj => {
//Do something with the returned object...
console.log(obj);
});
// Get a boolean value for a given key...
UserDefaults.boolForKey('keyForMyBool')
.then(bool => {
//Do something with the returned boolean value...
console.log(bool);
});
Todos for 1.0 release
- [ ] Implement
dataForKey:
- [ ] Implement
stringArrayForKey:
- [ ] Implement
setFloat:forKey:
- [ ] Implement
floatForKey:
- [ ] Implement
setInteger:forKey:
- [ ] Implement
integerForKey:
- [ ] Implement
setDouble:forKey:
- [ ] Implement
doubleForKey:
- [ ] Implement
setURL:forKey:
- [ ] Implement
URLForKey:
- [ ] Implement
NSUserDefaultsDidChangeNotification
Todos for 0.1.0 release - DONE!
- [x] Implement
arrayForKey:
- [x] Implement
stringForKey:
- [x] Implement
setObject:forKey:
- [x] Implement
objectForKey:
- [x] Implement
removeObjectForKey:
- [x] Implement
dictionaryForKey:
Note: This was taken care of withobjectForKey
since in JS an Object is a Dictionary in Obj-C - [x] Implement
setBool:forKey:
- [x] Implement
boolForKey: