0

我有 3 个简单的数组:

var myContintents = [Europe,Africa]
var myCountries = [UK, France, Senegal]
var myCities = [London, Birmingham, Paris, Dakar]

每个数组填充一个列表视图,并带有指向下一个列表视图的导航链接

Listview 1 = Contintents
Listview 2 = Countries
Listview 3 = Cities

但是,我在如何使这个依赖方面遇到了麻烦

例如,

如果在 Listview1 上选择了“欧洲”,则 Listview2 应该只包含英国和法国(不是塞内加尔,因为塞内加尔不在欧洲)

如果在 Listview 2 上选择了“France”,则 Listview 3 应该只包含 Paris

任何有关如何处理此问题的推荐建议都将受到欢迎

谢谢

4

1 回答 1

1

您应该学习如何创建自己的自定义类型,对于这种情况,以下应该是合适的

struct Continent {
    let name: String
    let countries: [Country]
}

struct Country {
    let name: String
    let cities: [City] //Or skip the last struct and make this a [String]
}

struct City {
    let name: String
}

现在,您在第一个列表视图中有一个大陆countries数组

这是一个小例子

let continents = [
    Continent(name: "Europe",
              countries: [
                Country(name: "UK",
                        cities: [
                            City(name: "London"),
                            City(name: "Birmingham")
                        ]),
                Country(name: "France",
                        cities: [
                            City(name: "Paris")
                        ])
              ])
]
于 2020-09-19T15:12:57.077 回答