RCUserDefaults--用属性的方式存取数据

RCUserDefaults是一个用于Swift的UserDefaults封装库,它简化了数据存取操作并提高了代码的可读性。通过属性方式而非传统的键值对方式来存储和读取数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简书链接 www.jianshu.com/p/a65647a82…

Overview

使用过UserDefault的都知道存取数据是像下面这样的:

UserDefaults.standard.set(1, forKey: "test")

UserDefaults.standard.value(forKey: "test")
复制代码

这样一来接口看起来不够简洁,二来需要维护一堆Key,受到GVUserDefaults的启发,直接用属性的方式来获取存取数据,我用Swift实现了RCUserDefaults

Usage

通过给RCUserDefaults extension一些自己需要的属性,需要注意的这些属性需要用@NSManaged修饰

extension RCUserDefaults {

    @NSManaged var string: String
    @NSManaged var stringOptional: String?

    @NSManaged var bool: Bool

    @NSManaged var int: Int

    @NSManaged var double: Double

    @NSManaged var float: Float

    @NSManaged var data: Data
    @NSManaged var dataOptional: Data?

    @NSManaged var any: Any
    @NSManaged var anyOptional: Any?

    @NSManaged var array: [Int]
    @NSManaged var arrayOptional: [Int]?

    @NSManaged var dictionary: [String: Int]
    @NSManaged var dictionaryOptional: [String: Int]?

}

复制代码

可以像这样存数据

RCUserDefaults.standard.string = "string"

RCUserDefaults.standard.bool = true

RCUserDefaults.standard.int = 1

RCUserDefaults.standard.double = 1

RCUserDefaults.standard.float = 1.0

RCUserDefaults.standard.array = [1]

RCUserDefaults.standard.dictionary = ["test": 1]

复制代码

像这样取数据

let string = RCUserDefaults.standard.string // "string"
let bool = RCUserDefaults.standard.bool // true
let int = RCUserDefaults.standard.int // 1
let double = RCUserDefaults.standard.double // 1
let float = RCUserDefaults.standard.float // 1.0
let array = RCUserDefaults.standard.array // [1]
let dictionary = RCUserDefaults.standard.dictionary // ["test": 1]

复制代码

Performance

性能的话完全不用担心,几乎跟UserDefaults一模一样。

最后如果大家觉得不错的话,可以点个Star支持一下,QAQ。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值