如何检查结构的实例本身是否是另一个结构的实例
How to check if an instance of a struct is itself an instance of another struct
我在 Swift 中有两个以下类型的结构,我想可视化与在结构 Palazzo 中实例化的 Appartamento 结构相关的数组值,但我的能力不允许这样做。您知道是否可以这样做以及如何做?我想过使用类型转换,但我认为它们只适合对象 类 而不是结构。
struct Appartamento {
var interno: String
var numeroBagni: Int
}
struct Palazzo {
let appartamenti: [Appartamento]
let nome: String
let indirizzo: String
}
var appartamenti: [Appartamento] = [
Appartamento(interno: "1a", numeroBagni: 2),
Appartamento(interno: "2a", numeroBagni: 1),
Appartamento(interno: "1", numeroBagni: 2),
Appartamento(interno: "2", numeroBagni: 1),
]
var palazzi: [Palazzo] = [
Palazzo(appartamenti: [appartamenti[0], appartamenti[1]],
nome: "Palazzo Colere",
indirizzo: "Via Colere, 7"),
Palazzo(appartamenti: [appartamenti[2], appartamenti[3]],
nome: "Palazzo Leoni",
indirizzo: "Via Alberi, 17")]
for palazzo in palazzi {
print("\(palazzo.nome):")
for appartamento in appartamenti {
// ************************************
if (the apartment is an instance of the palazzo structure then it displays the data appartamento) { // ******************
print .....
}
// ************************************
}
如果要打印给定公寓的信息,请使用 Palazzo
的成员 appartamenti
for palazzo in palazzi {
for appartamento in palazzo.appartamenti { ...
我在 Swift 中有两个以下类型的结构,我想可视化与在结构 Palazzo 中实例化的 Appartamento 结构相关的数组值,但我的能力不允许这样做。您知道是否可以这样做以及如何做?我想过使用类型转换,但我认为它们只适合对象 类 而不是结构。
struct Appartamento {
var interno: String
var numeroBagni: Int
}
struct Palazzo {
let appartamenti: [Appartamento]
let nome: String
let indirizzo: String
}
var appartamenti: [Appartamento] = [
Appartamento(interno: "1a", numeroBagni: 2),
Appartamento(interno: "2a", numeroBagni: 1),
Appartamento(interno: "1", numeroBagni: 2),
Appartamento(interno: "2", numeroBagni: 1),
]
var palazzi: [Palazzo] = [
Palazzo(appartamenti: [appartamenti[0], appartamenti[1]],
nome: "Palazzo Colere",
indirizzo: "Via Colere, 7"),
Palazzo(appartamenti: [appartamenti[2], appartamenti[3]],
nome: "Palazzo Leoni",
indirizzo: "Via Alberi, 17")]
for palazzo in palazzi {
print("\(palazzo.nome):")
for appartamento in appartamenti {
// ************************************
if (the apartment is an instance of the palazzo structure then it displays the data appartamento) { // ******************
print .....
}
// ************************************
}
如果要打印给定公寓的信息,请使用 Palazzo
appartamenti
for palazzo in palazzi {
for appartamento in palazzo.appartamenti { ...