nhnam / SafeUserDefaults

A Better UserDefaults with storing policy: override, discard

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SafeUserDefaults

A Better UserDefaults with storing policy: override, discard

// import module
import SafeModeUserDefault

Example 1: Save item using SafeMode

// Save item if not exist
let storingResult =  UserDefaults.safe.setValue("123456", forKey: "selected_number", forceOverride: { 
  return false
})
// return StoringResult.success

Example 2: Discard if there is an item exist

// Don't override if there is a value exist
let storingResult =  UserDefaults.safe.setValue("123456", forKey: "selected_number", forceOverride: { 
  return false
})
// return StoringResult.discarded

Example 3: Force overide existing value

let role  = Role.admin

// Force override set to true due a condition
let storingResult = UserDefaults.safe.setValue("123456", forKey: "selected_number", forceOverride: { 
  return role == .admin 
})
// return StoringResult.overrided

About

A Better UserDefaults with storing policy: override, discard

License:GNU General Public License v2.0


Languages

Language:Swift 100.0%