我该如何注释一个@classmethod返回实例的cls?这是一个糟糕的例子:
class Foo(object):
def __init__(self, bar: str):
self.bar = bar
@classmethod
def with_stuff_appended(cls, bar: str) -> ???:
return cls(bar + "stuff")
Run Code Online (Sandbox Code Playgroud)
这会返回一个Foo但更准确地返回Foo调用此子类的任何子类,因此使用注释-> "Foo"不够好.
在UIView我可以通过覆盖-layoutSubviews和来进行手动布局-sizeThatFits:。当嵌入到自动布局容器等中时,这可以正常工作。 的等效项是什么NSView?
-layout和-fittingSize是显而易见的选择,但文档表明这些是特定于自动布局的。