Junior — Middle
Môžeš uviesť príklad, kedy sa objekt triedy vytvára na zásobníku namiesto na halde?
sobes.tech AI
Odpoveď od AI
V iOS sa objekti triedí zvyčajne vytvárajú na halde, pretože triedy sú referenčné typy. Ak však používate štruktúry (struct), ktoré sú hodnotové typy, vytvárajú sa na zásobníku.
Príklad:
struct Point {
var x: Int
var y: Int
}
func createPoint() {
let p = Point(x: 10, y: 20) // vytvorené na zásobníku
print(p)
}
Tu je Point štruktúra a premenná p je vytvorená na zásobníku. Pre triedy, napríklad:
class Person {
var name: String
init(name: String) {
self.name = name
}
}
func createPerson() {
let person = Person(name: "John") // objekt na halde, odkaz naň na zásobníku
print(person.name)
}
Takže, objekty tried sú vytvárané na halde, zatiaľ čo štruktúry na zásobníku.