Тип NSLayoutAnchor

Независимо от того, что я пытаюсь, я не могу заставить это работать... Что я не получаю?

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

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

Кажется, нет никакого способа определить класс якоря..:(

1 ответ

Я не думаю, что это именно то, что вы ищете, но я думаю, что-то вроде этого должно работать:

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

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

Я не слишком знаком с этой областью, но я думаю, что причина, по которой вы не можете вернуть NSLayoutAnchor, заключается в том, что этот класс является универсальным классом, а его подклассы - нет.

Другие вопросы по тегам