objc_getClassList
gibi bir şey, ancak yapılar için.Swift-3 çalışma zamanında tüm yapı türlerini almanın yolu nedir?
Sadece bir bağlam vermek için: Bu yöntem (sınıflar için), belirli son eki olan tüm sınıfların bunlara yönelik testlere sahip olduğunu test etmek için birim testlerimizde kullanılır. Testleri test ediyoruz!
Bildiğim kadarıyla, yapıları çalışma zamanında gerçekten mevcut değil. Derleyiciye, birlikte gruplanmış ilgili verileri nasıl işleyeceğini anlatmanın bir yolu. Çoğu durumda (yani, protokol polimorfizmi kullanılmadığında), yöntemler tamamen belirtilmiştir ve mevcut – Alexander
@Alexander yapısına ait herhangi bir çalışma zamanı bilgisine ve tüm yapıların tek bir protokolle uyumlu olmasına gerek yoktur. Ayna (yansıtan: Protocol.self) .children 'işlevini zamanın bir noktasında kullanabileceğinize dair ipuçları vardır, ancak geçerli Swift sürümünde dizi boştur. http://stackoverflow.com/questions/35125708/how-to-list-swift-types-that-conform-to-protocol-using-reflection –
Protokoller de derlenemezler. Derleyici bir protokolün tüm yöntemlerini statik olarak göndermek için yeterli bilgiye sahipse, çalışma zamanında var olmasının bir nedeni yoktur. – Alexander