- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我创建了一个 Dictionary
,其中键是一个 String
,值是一个名为 SectorCoordinate 的自定义对象。
我只想将整个该死的东西存储在 NSUserDefaults
中,但是当我这样做时,Xcode 说:
The type [String, SectorCoordinate] does not conform to protocol AnyObject
我真的很困惑。我认为 AnyObject
是 Objective-C 的 id
的 Swift 版本,应该能够容纳任何对象。
我已经看到并尝试实现了一系列针对 [String: String]
字典(例如 JSON 操作)的解决方案,但这些解决方案并没有奏效,并出现类似的错误。我什至试图分解键值对,当我试图存储一个 SectorCoordinate
(它本身只是一个 struct
与一堆 String
、Int
和其中的日期)作为 AnyObject
。
有没有人对如何将半复杂对象和/或其字典存储为 AnyObject
有任何建议?看起来这样应该简单很多。
最佳答案
Apple documentation关于 NSUserdefaults setObject:forKey:
方法的说明:
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. See “What is a Property List?” in Property List Programming Guide.
因此,例如,您可以将 Swift Dictionary [String : NSNumber]
转换为 NSDictionary 并使用 NSUserDefaults 保存/检索它,就像这样:
let dictionary = ["myKey" : NSNumber(int: 12)] as NSDictionary
NSUserDefaults.standardUserDefaults().setObject(dictionary, forKey: "myDict") //[myKey : 12]
NSUserDefaults.standardUserDefaults().dictionaryForKey("myDict") //{[myKey : 12]}
但这对于 [String : SectorCoordinate]
类型的 Swift 字典是不可能的,其中 SectorCoordinate
是一个 Swift 结构。
关于dictionary - 在 Swift 的 NSUserDefaults 中存储 Dictionary<String, CustomObject>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25463663/
调用自定义对象时出现以下错误 “‘customObject’类型的对象无法转换为‘customObject’类型。” 以下是我遇到此错误时的情况: 我动态调用 dll 中的方法。 加载程序集 创建实例
我这周开始使用 ObjectMapper,我正在尝试将 JSON 映射到 2 个 CustomClasses,但我不知道 ObjectMapper 是否具有某些功能来执行我想要的操作。第一个 Cust
我创建了一个名为“Item”的对象,并且我想序列化其中包含 Items 的 ArrayList。我的程序与 ArrayList 完美配合,但它不适用于 ArrayList 。我相信这与我的对象有关。这
我的 ArrayList 变量有问题,该变量包含 Videos 的对象我创建的类。 ArrayList我创建的似乎总是空的,即使我 add给它一个对象。这是我声明并使用此 ArrayList 的代码:
我想对自定义类的条目执行文本搜索。该文本搜索不仅应匹配输入的字符串,还应检查拼写错误的单词。所以我正在寻找一个可以为我做这件事的图书馆。 更多背景信息:假设我从 SQLServer2008 数据库生成
我正在尝试更新多条记录权限。当我只更新一条记录的权限时,一切正常,但当更新多条记录时,没有任何反应。 List qbCustomObjectList = new LinkedList(); QBPer
我有这两个对象: public class BaseModule { public long BaseModuleID { get; set; } public string Modu
我在尝试对自定义对象的 ArrayList 进行排序时遇到问题。事实上,在排序之后,我的 ArrayList 中没有任何变化。我的方法有问题吗? 这是我的艺术家自定义对象属性: public clas
这个问题在这里已经有了答案: Getting an NSArray of a single attribute from an NSArray (3 个答案) 关闭 9 年前。
我得到了一个包含图片信息的类,比如文件路径、哈希值、字节。在另一个类中,我得到了一个通用列表,我在其中放置了包含图片信息的类中的对象。 那个类看起来像这样: [Serializable()]
我正在尝试保留一个假设为 xyz 的类的对象列表。当我在 NodeEntity 类中执行此操作时: @Property List listOfConditions 当通过 Neo4jOperation
我有一个如下的插件 class AbstractConfigExtension { public static final String NAME = "abstract_extension"
这是一个简单的问题,比任何事情都更具理论性。 Powershell 中的自定义对象和 PSObject 之间的真正区别是什么?您为什么以及何时创建它们? 谢谢! 最佳答案 PSCustomObject
我正在通过应用程序上下文将数据从 iOS 应用程序传输到其 Watch 扩展。我想发送我创建的自定义对象(名为WeatherReport)。 let context = ["report" : Wea
我在 Quickblox 控制台中创建了一个自定义对象,我可以检索这些对象,但现在需要访问原始 JSON 对象。 我可以通过字段手动迭代重建对象,并希望我可以直接引用和原始 JSON,从而节省大型数据
我有以下代码: ActiveModule resultObject = null; StringBuilder sqlStringBuilder = new Strin
有没有一种简单快速的方法来对 Java 中的 ArrayList 中的元素进行分组?我在问是否已经有办法不用我自己实现了?类似 Collections.sort(monuments,new objec
我创建了一个通用函数来检索JSON并对其进行解析: public IList RetrieveView(string result) { JavaScriptSeria
首先,如果我错了,请指正。我想从 ArrayList 中找到项目的索引(即字符串值)不使用 For 循环。 POJO: id; name; 代码: ArrayList list = new Array
嗨我正在尝试序列化 FileStream fileStream = new FileStream("batches.xml", FileMode.Open); XmlSerializer serial
我是一名优秀的程序员,十分优秀!