考虑这样的方法:
- (instancetype)sizeFit {
[self sizeToFit];
return self;
}
它对于方法链接很有用,我在框架中编写了这样的完整api,并希望将其移至Swift,在这里搜索问题,但发现了一些复杂的答案,而不是否,这是普通可读方式无法实现的。
答案 0 :(得分:1)
非常简短的答案是没有,没有直接对等的答案。
更详细的答案是语言在概念上是不同的。
id
对象。使用instancetype
是对特定类型的编译器和IDE的提示,以允许进行进一步检查和自动完成。这适用于子类和扩展。Self
,泛型或associatedtype
。最好的近似方法是将此功能移至extension
或protocol
中并使用Self
。这将以相同的方式工作。在子类环境中没有与此等效的方法。答案 1 :(得分:0)
谢谢,总之,这是迅速返回实例类型的等效方法:
extension UIView {
func someFunctionThatReturnInstanceTypeInAllSubclassesOfView() -> Self {
return self
}
}
虽然它不能在课堂上工作。