Using Objective-C Runtime Features in Swift | Apple Developer Documentation
Use selectors and key paths to interact with dynamic Objective-C APIs.