У меня есть протокол и некоторые структуры, которые ему соответствуют, в основном в формате, показанном ниже. Я сталкиваюсь с проблемой, когда при добавлении различных структур в массив типа [Protocol]
значения структур меняются странным образом. Однако, если я изменю тип массива на [Struct1]
или [Struct2]
и добавлю только соответствующие типы, проблем не будет.
protocol Protocol {
var id: String { get set }
var name: String { get set }
}
struct Struct1: Protocol {
var id: String = "1"
var name: String = "Struct1"
var uniqueProperty1: String = "uniqueProperty1"
}
struct Struct2: Protocol {
var id: String = "2"
var name: String = "Struct2"
var uniqueProperty2: String = "uniqueProperty2"
}
var structs: [Protocol] = []
let struct1 = Struct1()
let struct2 = Struct2()
structs.append(struct1)
structs.append(struct2)
И я должен добавить, что приведенный выше код работает, как и ожидалось. Это мой проект, который имеет протокол и некоторые структуры, которые ведут себя странно. Что может быть причиной этой проблемы?