我开始学习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 = [:]
如何声明一个空字典?
当前回答
在Swift中声明和初始化字典
字符串字典
var stringDict: [String: String] = [String: String]()
OR
var stringDict: Dictionary<String, String> = Dictionary<String, String>()
Int字典
var stringDict: [String: Int] = [String: Int]()
OR
var stringDict: Dictionary<String, Int> = Dictionary<String, Int>()
AnyObject字典
var stringDict: [String: AnyObject] = [String: AnyObject]()
OR
var stringDict: Dictionary<String, AnyObject> = Dictionary<String, AnyObject>()
字符串数组字典
var stringDict: [String: [String]] = [String: [String]]()
OR
var stringDict: Dictionary<String, Array<String>> = Dictionary<String, Array<String>>()
字符串字典数组
var stringDict: [[String: String]] = [[String: String]]()
OR
var stringDict: Array<Dictionary<String, String>> = Array<Dictionary<String, String>>()
其他回答
我通常用
var dictionary:[String:String] = [:]
dictionary.removeAll()
var dictList = String: swift中字典的字符串 var arrSectionTitle =字符串数组在swift
用这个会有用的。
var emptyDict = [String: String]()
我也在玩这个。看起来很奇怪,你可以声明一个空字典,然后像这样添加一个键/值对:
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"
当你在Swift中声明任何东西时,你需要显式地告诉数据类型或类型可以推断。
斯威夫特3
下面的示例声明了一个字典,其中key为Int类型,value为String类型。
方法1:初始化器
let dic = Dictionary<Int, String>()
方法二:简写语法
let dic = [Int:String]()
方法3:字典直译
var dic = [1: "Sample"]
// dic has NOT to be a constant
dic.removeAll()