0

无论我尝试什么,我都无法让这个变化起作用......我没有得到什么?

func anchorType(for string:String) -> NSLayoutAnchor<AnyObject> {

    switch string {
    case "x":
        return NSLayoutXAxisAnchor
    case "y":
        return NSLayoutYAxisAnchor
    default:
        return NSLayoutDimension
    }
}

似乎没有办法确定锚的类别.. :(

4

1 回答 1

0

我不认为这正是您正在寻找的,但我认为这样的事情应该有效:

func anchorType(for string:String) -> AnyClass {

    switch string {
    case "x":
        return NSLayoutXAxisAnchor.self
    case "y":
        return NSLayoutYAxisAnchor.self
    default:
        return NSLayoutDimension.self
    }
}

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

于 2018-09-05T07:29:46.107 回答