Swift是否可以从一个轻量级的通用Objective-c类inheritance?

我有两个类,基类在Obj-c中,子类在Swift中。

Obj-c类使用新的XCode 7的轻量级通用特性,定义如下:

@interface BaseController<T: SFObject *> : UIViewController @property(nonatomic, strong) T model; @end 

这对Obj-c子类很好。

现在对于Swift,如果我像平常一样定义genericstypes,我会得到以下错误:

无法专门化非genericstypes“BaseObjcController”。

我的第二堂课定义如下:

 class SwiftController: BaseObjcController<SFUser> { } 

任何帮助,将不胜感激。 谢谢。

从与Objective-C API交互 :

注意

除了这些Foundation集合类之外,Swift还忽略了Objective-C轻量级generics。 任何其他使用轻量级generics的types都会被导入到Swift中,就好像它们没有被参数化一样。

所以目前这是不可能的。 从“生成的接口”助手视图中可以看到,您的Objective-C类被导入到Swift中

 public class BaseController : UIViewController { public var model: SFObject! } 

苹果开发者论坛也讨论过这个问题:

  • 从Swift中看不到Objective-C的generics?

随意提交增强型错误报告!