protocols
プロパティが [P] ではなく [AnyObject] として迅速に変換される理由
@protocol P;
@class C;
@interface TestGenerics: NSObject
@property NSArray<C*>* classes;
@property NSArray<P>* protocols;
@end
Swift では、次のようになります。
public class TestGenerics : NSObject {
public var classes: [C]
public var protocols: [AnyObject]
}
更新: 解決策が見つかりました
@property NSArray<NSObject<P>*>* protocols;
または提案されたnewacctのように
@property NSArray<id<P>>* protocols;
は次のように翻訳されます。
public var protocols: [P]