代码之家  ›  专栏  ›  技术社区  ›  Magoo

nslayoutAnchor的类型

  •  0
  • Magoo  · 技术社区  · 6 年前

    不管我怎么努力,我都不能让这种变化发挥作用…我没有得到什么?

    func anchorType(for string:String) -> NSLayoutAnchor<AnyObject> {
    
        switch string {
        case "x":
            return NSLayoutXAxisAnchor
        case "y":
            return NSLayoutYAxisAnchor
        default:
            return NSLayoutDimension
        }
    }
    

    似乎没有办法确定锚的种类。:(

    1 回复  |  直到 6 年前
        1
  •  0
  •   R. Lin    6 年前

    我不认为这正是你想要的,但我认为这样的事情应该奏效:

    func anchorType(for string:String) -> AnyClass {
    
        switch string {
        case "x":
            return NSLayoutXAxisAnchor.self
        case "y":
            return NSLayoutYAxisAnchor.self
        default:
            return NSLayoutDimension.self
        }
    }
    

    我不太熟悉这个领域,但我认为您不能返回nslayoutAnchor的原因是该类是一个泛型类,而它的子类不是。

    推荐文章