Swift只允许字典包含单个类型。
这里的定义是从Swift的书:
A dictionary is a container that stores multiple values of the same type
[…]
They differ from Objective-C’s
NSDictionary
andNSMutableDictionary
classes,which can use any kind of object as their keys and values and do not provide any information about the nature of these objects.
如果是这样,那么我们将如何创建嵌套的字典?
想象一下,我们有一个plist,它包含String,Array和Dictionary项。如果我允许只保持相同的类型的项目(字符串,数组等),那么我将如何使用存储在plist中的不同类型的项目?
如何把不同类型放在同一个字典在Swift?
你可以使用任何类型的字典值来实现plist类嵌套结构,它是Swift的一些对应于Objective-C的id类型,但也可以保存值类型。
var response = Dictionary<String,Any>() response["user"] = ["Login": "Power Ranger","Password": "Mighty Morfin'"] response["status"] = 200
编辑:
任何似乎比AnyObject更好,因为在上面的代码response [“status”]是类型Swift.Int,而使用值类型AnyObject它是__NSCFNumber。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。