不管我怎么努力,我都不能让这种变化发挥作用…我没有得到什么?
func anchorType(for string:String) -> NSLayoutAnchor<AnyObject> { switch string { case "x": return NSLayoutXAxisAnchor case "y": return NSLayoutYAxisAnchor default: return NSLayoutDimension } }
似乎没有办法确定锚的种类。:(
我不认为这正是你想要的,但我认为这样的事情应该奏效:
func anchorType(for string:String) -> AnyClass { switch string { case "x": return NSLayoutXAxisAnchor.self case "y": return NSLayoutYAxisAnchor.self default: return NSLayoutDimension.self } }
我不太熟悉这个领域,但我认为您不能返回nslayoutAnchor的原因是该类是一个泛型类,而它的子类不是。