arrays - 如何将这个 JS 对象数组转换为 Swift 元组数组?
问题描述
我正在尝试在 Swift 中构建我的数据,但我很难初始化嵌套元组和数组的空数组。
我是 Swift 新手,对 JS 非常熟悉。
以下是我的数据在 JS 中的结构:
let data = [] // Loop will push objects into this variable
// This is the object that would be pushed into data from within a loop - for range in ranges
ranges.forEach(range => {
data.push({
[range]: {
'minDate': Date(),
'minDateText': '',
'tags': [{
'name': '',
'color': '',
'total': ''
}]
}
});
});
我已经快速尝试了一些不同的东西,但我就是不明白。似乎您必须在实际保存任何数据之前对数组进行精确表示。我需要在没有任何数据的情况下对其进行初始化。
我尝试过的最新方法是:
var data:[(String:(String:Date, String:String, String:[(String:String, String:String, String:String)]))] = []
// Get error "Cannot create a single-element tuple with an element label"
解决方案
你应该停止思考如何用 JS 编码,开始阅读如何用 Swift 编码。您可以从Apple Swift book开始,它几乎涵盖了您入门所需的所有内容。所以你真正需要的是结构化你的数据:
struct Object {
let minDate: Date
let minDateText: String
let tags: [Tag]
}
struct Tag {
let name: String
let color: String
let total: String
}
然后你可以用它创建一个字典或数组:
var dictionary: [String: Object] = [:]
var objects: [Object] = []
推荐阅读
- regex - 雪花外部舞台文件名模式匹配不起作用
- memory - 分配这个结构时,浪费了多少内存?
- cplex - 是否可以在执行范围内包含总和表达式(后处理 OPL)?
- python - Jupyter Notebook 使用的 Python 可执行文件与 Notebook 设置的 Conda 环境不同
- arrays - C在另一个结构内的数组中动态分配一个结构
- ios - 在 iOS 中使用带有 AVPlayer 的固定证书
- sql-server - SQL:按频率分组的出现次数
- r - R:如何根据匹配的特定列标题在文件夹中查找选择文件
- java - 声明/初始化 Java 字符串缓冲区后出现空指针错误
- c# - 如何在 Unity C# 中的对象之间传输信息?