【问题标题】:How can would I translate this array of JS objects into an array of Swift tuples?如何将这个 JS 对象数组转换为 Swift 元组数组?
【发布时间】:2020-11-14 03:44:58
【问题描述】:

我正在尝试在 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': ''
            }]
        }
    });
});

我在 swift 中尝试了一些不同的方法,但我就是不明白。似乎您必须在实际保存任何数据之前对数组进行精确表示。我需要在没有任何数据的情况下对其进行初始化。

我最近尝试的是这样的:

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"

【问题讨论】:

    标签: arrays swift tuples


    【解决方案1】:

    你应该停止思考如何用 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] = []
    

    【讨论】:

      猜你喜欢
      • 2013-08-07
      • 2012-05-07
      • 2022-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多