Contact Apple SevenTenEleven staff to answer the Apple Developer Forum.
He mentioned that because of @objc in Swift-root classes, it never behaved like an NSObject-based class, which led to various oddities in the generated header and at runtime.
We can process any instance of the Swift class as AnyObject, mark the methods and properties of the Swift class as @objc, and comply with the Objective-C protocols; the class simply does not appear in the generated header and by default does not have its members in Objective-C.
source share