У меня есть следующий класс и конструктор:
class List<T> {
var value: T
var next: List<T>?
init(_ items: Any...) {
}
Конструктор может принимать такие вещи, как: let list = List<Any>(List<Int>(7, 2), 6, List<Any>(3, List<Int>(5, 1)))
Моя цель в конструкторе - отфильтровать числа 7,2 , 6,3,5,1 в этом конкретном порядке, конечно, они могут быть строками, поскольку это шаблон. Я пробовал
init(_ items: Any...) {
for info in items
{
if let str = info as? T {
if let str2 = info as? List<T> {
}
else
{
print("this is primitive \(info)")
}
}
}
, однако в результате я получаю:
this is primitive 7
this is primitive 2
this is primitive 5
this is primitive 1
this is primitive 3
this is primitive main.List<Swift.Int>
this is primitive main.List<Swift.Int>
this is primitive 6
, поэтому я, кажется, не отфильтровываю main.List, а также не по порядку, есть идеи, как я могу этого достичь?