Ответ
Нет, Side Table (или Side Table Record) не создается.
Почему? Side Table — это дополнительная структура памяти, которая создается для объекта только при появлении первой weak ссылки на него. Она хранит отдельный счетчик слабых ссылок (weak reference count) и другую метаинформацию, необходимую для безопасной работы weak ссылок (например, для обнуления ссылки при освобождении объекта).
Как работают strong и unowned без Side Table?
strongссылка: Увеличивает обычный счетчик ссылок (retain count) в заголовке объекта.unownedссылка: Работает как "небезопасная" ссылка. Она не увеличивает retain count и не требует Side Table, но предполагает, что объект будет жить дольше, чемunownedссылка на него. Доступ черезunownedпосле освобождения объекта приводит к аварийному завершению (crash).
Пример:
class MyClass {}
var strongRef: MyClass? = MyClass() // retain count = 1, Side Table — НЕТ.
unowned var unownedRef = strongRef! // retain count = 1, Side Table — НЕТ.
strongRef = nil // retain count = 0, объект уничтожается.
// print(unownedRef) // CRASH: обращение к освобожденной unowned ссылке.
Side Table появится только если добавить weak var weakRef = strongRef.