Giống như objc_getClassList
nhưng đối với cấu trúc.Cách để có được tất cả các kiểu cấu trúc trong thời gian chạy Swift-3?
Chỉ cần đưa ra một số ngữ cảnh: phương pháp này (cho các lớp) được sử dụng trong các bài kiểm tra đơn vị của chúng tôi để kiểm tra tất cả các lớp có hậu tố nhất định có kiểm tra. Chúng tôi kiểm tra các bài kiểm tra!
Theo như tôi biết, cấu trúc không thực sự tồn tại trong thời gian chạy. Chúng chỉ là cách nói cho trình biên dịch biết cách xử lý dữ liệu liên quan được nhóm lại với nhau. Trong hầu hết các trường hợp (tức là khi không sử dụng đa hình giao thức), các phương thức hoàn toàn được gạch chân và không cần bất kỳ loại kiến thức thời gian chạy nào về cấu trúc hiện có – Alexander
@Alexander và nếu tất cả các cấu trúc đều tuân theo một giao thức duy nhất? Có những gợi ý rằng bạn có thể sử dụng 'Mirror (phản ánh: Protocol.self) .children' tại một thời điểm nào đó, nhưng trong phiên bản Swift hiện tại, mảng trống. http://stackoverflow.com/questions/35125708/how-to-list-swift-types-that-conform-to-protocol-using-reflection –
Các giao thức cũng không thể được biên dịch. Nếu trình biên dịch có đủ thông tin để có thể gửi đi tất cả các phương thức của giao thức một cách tĩnh, thì không có lý do gì để nó tồn tại trong thời gian chạy. – Alexander