text 在操场上嘲笑UserDefaults

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了text 在操场上嘲笑UserDefaults相关的知识,希望对你有一定的参考价值。

import Foundation
import PlaygroundSupport

var userDefaults = UserDefaults(suiteName: #file)
userDefaults!.removePersistentDomain(forName: #file)
let storageNameSpacePrefix = "favorite_events_"

func isFavorited(artistId: String) -> Bool {
    return userDefaults!.dictionaryRepresentation().keys.contains(artistIdKey(artistId: artistId))
}

func isFavoritedStandard(artistId: String) -> Bool {
    return UserDefaults.standard.dictionaryRepresentation().keys.contains(artistIdKey(artistId: artistId))
}

func save(artistId: String) {
    let artistIdData = encode(artistId: artistId)
    let key = artistIdKey(artistId: artistId)
    userDefaults!.set(artistIdData, forKey: key)
}

func remove(artistId: String) {
    let key = artistIdKey(artistId: artistId)
    userDefaults!.removeObject(forKey: key)
}

private func artistIdKey(artistId: String) -> String {
    return "\(storageNameSpacePrefix)\(artistId)"
}

private func encode(artistId: String) -> NSData? {
    do {
        let data = try NSKeyedArchiver.archivedData(withRootObject: artistId, requiringSecureCoding: true) as NSData
        return data
    } catch {
        NSLog("Error encoding event id")
        return nil
    }
}

save(artistId: "id")
print(isFavorited(artistId: "id"))
print(isFavoritedStandard(artistId: "id"))
userDefaults!.removePersistentDomain(forName: #file)
print(isFavorited(artistId: "id"))

以上是关于text 在操场上嘲笑UserDefaults的主要内容,如果未能解决你的问题,请参考以下文章

在 UserDefaults 上使用 NSKeyedArchiver 时属性重置

为啥我的 UIScrollViewDelegate 没有在快速操场上被调用?

如何在 GraphQL 操场上执行突变?

尝试在 Swift 操场上执行此操作时 Xcode 冻结?

在 swift 3 操场上阅读 plist

在操场上使用 Alamofire 发出 http 请求的延迟