Назад к задачам
Т-БанкПолучайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Junior — Senior
12
Что будет выведено в примере №8
Компании, где спрашивали:
Условие задачи
В примере создаются два наследника базового контроллера, заполняются массивы строк и объектов, после чего один контроллер получает ссылки на массивы другого. Затем вызывается метод удаления последнего элемента у массива строк. Определите, какие значения останутся в массивах после выполнения кода.
import Foundation
class MyView: CustomStringConvertible {
let index: UInt
var ID: String
init(withIndex index: UInt) {
self.index = index
ID = String(index)
}
var description: String {
return "(\(index), \(ID))"
}
}
class MyViewController {
var strings: [String] = []
var views: [MyView] = []
}
class FirstViewController: MyViewController {}
class SecondViewController: MyViewController {}
let firstVC = FirstViewController()
firstVC.strings = ["One", "Two", "Three"]
firstVC.views = [MyView(withIndex: 1), MyView(withIndex: 2), MyView(withIndex: 3)]
let secondVC = SecondViewController()
secondVC.strings = firstVC.strings
secondVC.views = firstVC.views
secondVC.strings.popLast