Я знаю, что структуры передаются по значению, а классы передаются по ссылке в Swift.
Интересно, создам ли я элементы хранилища массива, которые предоставляют протокол. Эти элементы передаются по значению или ссылке?
Основано ли это на определении модели как класса или структуры?
class ClassA: ProtocolA {
// something
}
struct StructA: ProtocolA {
// something
}
var arr: [ProtocolA] = [ClassA(), StructA()]
exampleFunction(arr[0]) // is it passed by reference
exampleFunction(arr[1]) // is it passed by value