React Native Module for NSUserDefaults
npm install react-native-userdefaults-iosThis 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.

1. Run npm install react-native-userdefaults-ios --save
2. Open your project in XCode, right click on Libraries and click Add.
Files to "Your Project Name"
3. Select the RNUserDefaults.xcodeproj file in the node_modules/react-native-userdefaults-ios folder and click Add
4. In the Xcode Project Navigator find the RNUserDefaults.xcodproj and add the Products/libRNUserDefaultsIOS.a to Build Phases -> Link Binary With Libraries.
5. Follow the implementation example below...
``javascript`
// Require the library...
var UserDefaults = require('react-native-userdefaults-ios');
#### Writing to standardUserDefaults`javascript
//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`javascript
// 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);
});
`
- [ ] Implement dataForKey:stringArrayForKey:
- [ ] Implement setFloat:forKey:
- [ ] Implement floatForKey:
- [ ] Implement setInteger:forKey:
- [ ] Implement integerForKey:
- [ ] Implement setDouble:forKey:
- [ ] Implement doubleForKey:
- [ ] Implement setURL:forKey:
- [ ] Implement URLForKey:
- [ ] Implement NSUserDefaultsDidChangeNotification
- [ ] Implement
- [x] Implement arrayForKey:stringForKey:
- [x] Implement setObject:forKey:
- [x] Implement objectForKey:
- [x] Implement removeObjectForKey:
- [x] Implement dictionaryForKey:
- [x] Implement Note: This was taken care of with objectForKey since in JS an Object is a Dictionary in Obj-CsetBool:forKey:
- [x] Implement boolForKey:`
- [x] Implement