gpt4 book ai didi

swift - 保存到 NSUserDefaults 的字典总是返回 nil

转载 作者:行者123 更新时间:2023-11-30 10:04:08 25 4
gpt4 key购买 nike

我尝试使用 setObject() 函数将字典保存到 NSUserDefaults,但是当我使用 objectForKey() 函数检索字典时,它返回 。为什么会发生这种情况?

var data = NSUserDefaults.standardUserDefaults();
var scoreboard = [Int : String]()
let scores = "scoresKey"

scoreboard[3] = "spencer"
scoreboard[6] = "brooke"
scoreboard[11] = "jason"

data.setObject(scoreboard, forKey: scores)
data.objectForKey(scores) // Returns nil

最佳答案

第一个问题是不可能在 Playground 中使用 NSUserDefaults。

参见:https://stackoverflow.com/a/31210205/3498950

当上面的代码在普通的iOS项目中运行时,会发现第二个问题。它抛出一个 NSInvalidArgumentException 因为字典是一个非属性列表对象,因为键需要是 String 类型。

Although NSDictionary and CFDictionary objects allow their keys to be objects of any type, if the keys are not string objects, the collections are not property-list objects.

请参阅 Apple 文档中的“What is a Property List?

关于swift - 保存到 NSUserDefaults 的字典总是返回 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36975754/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com