gpt4 book ai didi

swift - 如何在 NSUserDefault 中快速设置字典?

转载 作者:搜寻专家 更新时间:2023-11-01 07:26:38 24 4
gpt4 key购买 nike

我有一个可变字典(以 [Int:Int] 的形式)并希望保存它。我会像那样使用 NSUserDefaults:

    var myDic: NSMutableDictionary = [:]
myDic = [1:2]
NSUserDefaults.standardUserDefaults().setObject(myDic, forKey: "myDic")

但是我得到一个错误:

Thread 1: signal SIGABRT

我不知道为什么。

最佳答案

setObject(_:forKey:) 不能接受带有整数类型键的Dictionary。该方法需要属性列表对象,但 myDic = [1:2] 不是属性列表对象。

关于它的文档有两个。

setObject(_:forKey:) of NSUserDefaults

The value parameter can be only property list objects: NSData, NSString, NSNumber, NSDate, NSArray, or NSDictionary. For NSArray and NSDictionary objects, their contents must be property list objects.

About Property Lists

And 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.

如果将整数键设置为 Dictionary,则 Dictionary 对象不能用于 setObject 的值。您必须像这样使用字符串作为 key :

myDic = ["1": 2]

关于swift - 如何在 NSUserDefault 中快速设置字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35689828/

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