@objc public protocol A: AnyObject { @objc var name: String { get } }
例えばこういうのが Swift なモジュールにあって、それを @interface B : NSObject <A> @end
こんな感じで Objective-C なモジュールから使って、それを func f() { let b = B() print(b.name) }
こうやって Swift なモジュールから使うと、nameが見えないと言われる。 でも、 func f() { let b: A = B() print(b.name) }
こうすると問題なく使える。 (edited)