ASUserDefaults是针对Swift 2.0编写的NSUserDefaults包装器。您可能想知道以下问题:“为什么NSUserDefaults需要一个包装器?”虽然NSUserDefaults的使用非常简单,但我仍偶尔需要查找其文档。ASUserDefaults旨在通过简单调用ASUserDefaults共享管理器(单例)类的Save
和Load
方法,简化您的NSUserDefaults流程。除了这个简化之外,ASUserDefaults还提供了一个代理,用于在保存/加载数据和其键集时通知委托人。ASUserDefaults代码库包含一个示例项目和测试。请随意提供PR或评论您认为此项目是否有用。
祝你享受!
//
// ViewController.swift
// ASUserDefaults
//
// Created by asowers on 02/13/2016.
// Copyright (c) 2016 asowers. All rights reserved.
//
import UIKit
import ASUserDefaults
class ViewController: UIViewController, ASUserDefaultsManagerDelegate {
let userDefaultsManager = ASUserDefaultsManager.sharedManager
override func viewDidLoad() {
super.viewDidLoad()
userDefaultsManager.delegate = self
userDefaultsManager.save(100, key: "key")
print("value is: \(userDefaultsManager.load("key"))")
userDefaultsManager.setSuiteName("suite_1") // switching to alternative suite
userDefaultsManager.save(1000, key: "key")
print("value is: \(userDefaultsManager.load("key"))")
userDefaultsManager.setSuiteName(nil) // switching back to default suite
userDefaultsManager.save(100.50, key: "key") // this should not effect the value in suite_1
userDefaultsManager.setSuiteName("suite_1") // witching back to suite_1
print("final value is: \(userDefaultsManager.load("key"))") // this should print 1000
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func didSaveObject(object: AnyObject?, withName: String, inSuite: String) {
print("did save: \(object) named: \(withName) in suite: \(inSuite)")
}
func didLoadObject(object: AnyObject?, withName: String, inSuite: String) {
print("did save: \(object) named: \(withName) in suite: \(inSuite)")
}
}
要运行示例项目,请克隆存储库,并首先从Example目录运行pod install
ASUserDefaults通过CocoaPods提供。要安装它,只需将以下行添加到您的Podfile中即可。
pod "ASUserDefaults"
asowers1, [email protected]
ASUserDefaults受MIT许可的约束。关于更多信息,请参阅LICENSE文件。