Назад к вопросам
Альфа-Банк
Одноклассники
Junior — Middle
76
Можешь перечислить основные типы ссылок, используемых для работы с объектами в программировании?
Компании, где спрашивали
О5.ru
GreenData
Uzum
БКС
Ответ от нейросети
sobes.tech AI
В программировании, особенно в iOS и Swift, основные типы ссылок для работы с объектами включают:
- Strong (сильная ссылка) — удерживает объект в памяти, пока ссылка существует. Объект не будет удалён, пока есть хотя бы одна сильная ссылка.
- Weak (слабая ссылка) — не удерживает объект в памяти. Если объект удаляется, слабая ссылка автоматически становится nil. Используется для предотвращения циклов удержания.
- Unowned (несобственническая ссылка) — похожа на weak, но не является опциональной и не становится nil. Используется, когда ссылка гарантированно существует во время использования.
Пример на Swift:
class Person {
var name: String
weak var apartment: Apartment? // слабая ссылка
init(name: String) {
self.name = name
}
}
class Apartment {
let unit: String
unowned let tenant: Person // несобственническая ссылка
init(unit: String, tenant: Person) {
self.unit = unit
self.tenant = tenant
}
}