nativerepo.com

react-native-userdefaults-ios Build Status

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.

NPM

Add it to your project

  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...

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 with objectForKey since in JS an Object is a Dictionary in Obj-C
  • [x] Implement setBool:forKey:
  • [x] Implement boolForKey:

Comments
Details
Added at: 2017/03/06
Owner: dsibiski
Category: utils & infra
Homepage: https://github.com/dsibiski/react-native-userdefaults-ios#readme
Downloads last month: 170
Version: 0.1.3
Compatibility
  •  
  •  

Add to your project

npm i --save react-native-userdefaults-ios