livingtech livingtech - 5 months ago 23
iOS Question

How do I determine what protocols a class conforms to in swift?

In objective-c, you can always check a class's protocols through its public headers. But if you have a class in swift, how do you know what protocols it conforms to? Is this even possible?

(Yes, I realize Apple's documentation lists the protocols it conforms to, but that doesn't seem like a real solution, since you might be working with a private framework or have some other theoretical reason for wanting to know an object's protocols.)

Also, yes, I know you can check for a specific protocol using the technique outlined here: http://stackoverflow.com/a/37351027/18961

Jim Jim
Answer

I don't believe you can do it without leaning on the Objective-C runtime. Import ObjectiveC and use the class_copyProtocolList() function.