Junior — Middle
Can you give an example when objects of reference type are stored on the stack?
sobes.tech AI
Answer from AI
In iOS, reference type objects (such as class instances) are usually stored on the heap, while pointers to them are stored on the stack. However, if an object is created as a local variable inside a function, then the pointer to this object is stored on the stack.
Example:
class MyClass {
var value: Int
init(value: Int) {
self.value = value
}
}
func example() {
let obj = MyClass(value: 10) // obj is a reference stored on the stack
print(obj.value)
}
Here, the variable obj is a reference (pointer) stored on the stack, while the MyClass object itself is on the heap. Thus, reference type objects are not stored entirely on the stack, but references to them are.