我开始学习swift是通过苹果公司提供的swift上的iBook-The swift Programming Language。这本书说要创建一个空字典,应该使用[:],就像声明数组为[]一样:
我声明一个空数组,如下所示:
let emptyArr = [] // or String[]()
但是在声明空字典时,我得到语法错误:
let emptyDict = [:]
如何声明一个空字典?
我开始学习swift是通过苹果公司提供的swift上的iBook-The swift Programming Language。这本书说要创建一个空字典,应该使用[:],就像声明数组为[]一样:
我声明一个空数组,如下所示:
let emptyArr = [] // or String[]()
但是在声明空字典时,我得到语法错误:
let emptyDict = [:]
如何声明一个空字典?
当前回答
如果要创建具有任何类型的泛型字典
var dictionaryData = [AnyHashable:Any]()
其他回答
你可以像这样简单地声明它:
var emptyDict:NSMutableDictionary = [:]
我也在玩这个。看起来很奇怪,你可以声明一个空字典,然后像这样添加一个键/值对:
var emptyDictionary = Dictionary<String, Float>()
var flexDictionary = [:]
emptyDictionary["brian"] = 4.5
flexDictionary["key"] = "value" // ERROR : cannot assign to the result of this expression
但是你可以通过使用"Any"类型创建一个接受不同值类型的Dictionary,如下所示:
var emptyDictionary = Dictionary<String, Any>()
emptyDictionary["brian"] = 4.5
emptyDictionary["mike"] = "hello"
var parking = [Dictionary < String, Double >()]
^这将为[string:double]输入添加一个字典
斯威夫特4
let dicc = NSDictionary()
//MARK: - This is empty dictionary
let dic = ["":""]
//MARK:- This is variable dic means if you want to put variable
let dic2 = ["":"", "":"", "":""]
//MARK:- Variable example
let dic3 = ["name":"Shakeel Ahmed", "imageurl":"https://abc?abc.abc/etc", "address":"Rawalpindi Pakistan"]
//MARK: - This is 2nd Variable Example dictionary
let dic4 = ["name": variablename, "city": variablecity, "zip": variablezip]
//MARK:- Dictionary String with Any Object
var dic5a = [String: String]()
//MARK:- Put values in dic
var dic5a = ["key1": "value", "key2":"value2", "key3":"value3"]
var dic5b = [String:AnyObject]()
dic5b = ["name": fullname, "imageurl": imgurl, "language": imgurl] as [String : AnyObject]
or
//MARK:- Dictionary String with Any Object
let dic5 = ["name": fullname, "imageurl": imgurl, "language": imgurl] as [String : AnyObject]
//MARK:- More Easy Way
let dic6a = NSDictionary()
let dic6b = NSMutalbeDictionary()
要用[:]也就是空字典字面量创建一个空字典,实际上需要首先提供上下文,就像键和值的类型一样。使用[:]创建空字典的正确方法是:
var dict: [String: Int] = [:]