1
Swift Language Features / Optionals
1. Объясните реализацию CustomOptional и ее использование.
enum CustomOptional<T>: ExpressibleByNilLiteral {
init() {
self = .none
}
case none
case some(T)
}
let i: CustomOptional<Int> = nil
let i: CustomOptional<Int> = .none2. Объясните использование associatedType в протоколе Returnable.
protocol Returnable {
associatedType Kind
}
func returnTheType<T: Returnable>(object: T) -> T.Kind {
fatalError()
}3. Обсудите производительность и особенности работы с коллекциями при большом количестве операций добавления.
var array = [0, 1, 2]
for i in 3...10_000_000_000 {
array.append(i)
}4. Что будет выведено print(dict.count) в первом случае?
let dict = "one":…