Другим способом вы можете получить элемент next
из массива, чтобы сделать Iterator
.Это полезно, если вам нужен исчерпывающий запас значений.
Например:
var array = ["one", "two", "three"]
var iterator = array.makeIterator()
if let value = iterator.next() {
print(value)
}
one
if let value = iterator.next() {
print(value)
}
two
if let value = iterator.next() {
print(value)
}
three
Как только Iterator
выходит из значений, он возвращает nil
:
if let value = iterator.next() {
print(value)
} else {
print("out of values")
}
out of values
Вы также можетеиспользуйте Iterator
в цикле for-in
:
var array = ["one", "two", "three"]
var iterator = array.makeIterator()
for value in iterator {
print(value)
}
one
two
three
Вы можете преобразовать оставшиеся элементы в Array
:
var array = ["one", "two", "three"]
var iterator = array.makeIterator()
let first = iterator.next()!
let rest = Array(iterator)
print(first)
print(rest)
one
["two", "three"]