如何将这个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': ''
}]
}
});
});

我在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"

你应该停止思考如何用JS编码,开始阅读如何用Swift编码。你可以从苹果Swift的书开始,它几乎涵盖了你需要开始的一切。因此,您真正需要的是构建您的数据:

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] = []

最新更新