繁体   English   中英

具有不同类型的Swift 2D阵列

[英]Swift 2D array with different types

是否有可能具有一个以上数据类型的多维数组。

示例(我希望最后一个项目是一个Int):

var london = [[String]]()

london[0] = ["England", "Chelmsford", 49]
london[1] = ["Wales", "Cardiff", 212]
london[2] = ["Scotland", "Glasgow", 556]
london[3] = ["Germany", "Frankfurt", 640]

我认为您最好使用structDictionary数组:

struct CityInfo {
    var country : String
    var city : String
    var data : Int
}

var london = [CityInfo]()
london.append(CityInfo(country: "England", city: "Chelmsford", data: 49))
london.append(CityInfo(country: "Wales", city: "Cardiff", data: 212))
london.append(CityInfo(country: "Scotland", city: "Glasgow", data: 556))
london.append(CityInfo(country: "Germany", city: "Frankfurt", data: 640))

但是您可以根据需要使用2D数组:

var london = [[Any]]()    
london.append(["England", "Chelmsford", 49])
london.append(["Wales", "Cardiff", 212])
london.append(["Scotland", "Glasgow", 556])
london.append(["Germany", "Frankfurt", 640])

您在该数组中使用2个选项之一的数组

使其成为包含国家/城市/整数作为属性的类或结构

要么

使用元组typealias myData =(国家/地区:字符串,城市:String,myNumber:整数)

使用什么取决于您将如何在代码中使用它

如果您真的想要它,就像使用它一样,只需使用AnyObject作为类型

var london = [[AnyObject]]()

    london.append(["England", "Chelmsford", 49])
    london.append(["Wales", "Cardiff", 212])
    london.append(["Scotland", "Glasgow", 556])
    london.append(["Germany", "Frankfurt", 640])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM