【发布时间】:2016-02-24 02:07:19
【问题描述】:
我有一个用 Objective-C 编写的模型类,它应该被子类继承。有一个方法:
- (id)deepcopy {
id newModel = [[[self class] alloc] init];
newModel.id = self.id;
// do something
return newModel;
}
子类应该用类似的东西覆盖它:
- (id)deepcopy {
id newModel = [super deepcopy];
// something else
return newModel;
}
关键是[[[self class] alloc] init],它将根据实际类实例化一个对象。最近我尝试将这个项目升级到 Swift,但找不到在 Swift 中做同样事情的方法。
我该怎么做?
【问题讨论】:
-
好问题!对于继承单例 sharedInstance 样式的 getter 也很有用
标签: ios objective-c swift