我有两个类,基类是Obj-c,子类是Swift。
Obj-c类使用新的XCode 7的轻量级通用特性,定义如下:
@interface BaseController<T: SFObject *> : UIViewController
@property(nonatomic, strong) T model;
@end
这对于Obj-c子类来说很有效。
现在对于Swift,如果我像通常那样定义泛型类型,我会得到以下错误:
无法专用化非泛型类型“BaseObjcController”。
我的第二个类定义如下:
class SwiftController: BaseObjcController<SFUser> {
}
任何帮助都将不胜感激。谢谢。
1条答案
按热度按时间tzcvj98z1#
**更新:从Swift 3开始,**Objective-C轻量级泛型 * 被 * 导入Swift。有关更多信息,请参见
注记
除了这些Foundation集合类之外,Swift会忽略Objective-C的轻量级泛型。任何其他使用轻量级泛型的类型都会被导入Swift,就像它们是未参数化的一样。
正如你在“Generated Interface”助手视图中所看到的,你的Objective-C类被导入Swift,作为
Apple开发者论坛也对此进行了讨论:
请随时提交增强错误报告!