Yapılar Swift'te protokol adı verilen arabirimleri uygulayabilir. Protokol olan bir parametre, değişken veya alan / üyeniz olabilir ve sınıflardan bahsetmemek için birden fazla farklı yapı, bir protokol parametresine (veya bir yapı) geçtikten (veya atadığınızda) aynı protokolü uygulayabilir değişken veya alan) içeriyorsa, özellikleri "kayıp" olabilir (re: derleme zamanı) ve protokol tanık tablosu devreye girer (re: runtime).
Swift bellek düzeni hakkında daha fazla bilgi edinebilirsiniz .
Benzer şekilde daha aşina olduğum C # da oluyor. Bir arabirim değişkenine veya alana / üyeye iletilen veya atanan bir yapı kutulu ve yapının kutulu temsili, sınıf temsillerinin yapısıyla eşleşir, yani kutulu yapılar için bir vtable vardır.
Öğe derleme zamanında bir yapı olarak bilindiğinde hem C # hem de Swift'in doğrudan arama yapmasını ve derleme zamanında vtable gönderimini kullanmasını beklerim, öğe yalnızca bir arabirim olarak bilinir.