创建键/值字典时,它将作为随机排序返回.我希望它们的顺序与它的创建顺序相同.
例如,请参阅以下代码:
var dict = [
"kg": 1,
"g": 2,
"mg": 3,
"lb": 4,
"oz": 5,
"t": 6
]
println(dict)
Run Code Online (Sandbox Code Playgroud)
这将返回以下内容:
[kg: 1, oz: 5, g: 2, mg: 3, lb: 4, t: 6]
Run Code Online (Sandbox Code Playgroud)
如何保留声明字典的顺序?
Car*_*ndo 28
斯威夫特 5.1:
当您需要键值对的有序集合并且不需要 Dictionary 类型提供的快速键查找时,请使用KeyValuePairs实例。
您使用 Swift 字典文字初始化 KeyValuePairs 实例。除了保持原始字典文字的顺序外,KeyValuePairs 还允许重复键。例如:
let recordTimes: KeyValuePairs = ["Florence Griffith-Joyner": 10.49,
"Evelyn Ashford": 10.76,
"Evelyn Ashford": 10.79,
"Marlies Gohr": 10.81]
print(recordTimes.first!)
// Prints "("Florence Griffith-Joyner", 10.49)"
Run Code Online (Sandbox Code Playgroud)
Mar*_*n R 14
在您的情况下,自定义对象数组可能更合适.这是一个简单的示例,应该有助于您入门:
struct Unit : Printable {
let name: String
let factor: Double
// println() should print just the unit name:
var description: String { return name }
}
let units = [
Unit(name: "kg", factor: 1000.0),
Unit(name: "g", factor: 1.0),
Unit(name: "mg", factor: 0.001),
Unit(name: "lb", factor: 453.592292),
Unit(name: "oz", factor: 28.349523)
]
println(units) // [kg, g, mg, lb, oz]
Run Code Online (Sandbox Code Playgroud)
(我不确定非公制单位因素是否正确:)
正如Apple所说:
字典是键值关联的无序集合.
链接:https: //developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/CollectionTypes.html
不知道这是否会对你有帮助,但在这个链接中有一个ordereddictionary的实现:http://www.raywenderlich.com/82572/swift-generics-tutorial
| 归档时间: |
|
| 查看次数: |
6391 次 |
| 最近记录: |