根据传递的参数返回不同的类型

时间:2019-08-10 22:16:51

标签: swift autolayout uikit

我创建了一个具有如下视图边缘的自定义类型:

public enum Edge {

    //MARK: - Vertical Variables

    case top
    case bottom

    //MARK: - Horizontal Variables

    case left
    case right
}

现在,我想创建某种帮助方法,该方法将基于NSLayoutXAxisAnchor将我的枚举转换为NSLayoutYAxisAnchorself

func convertToNSLayoutAnchor(ofView view: UIView) -> NSLayoutXAxisAnchor or NSLayoutYAxisAnchor {
    switch self {
    case .top:
        return view.topAnchor
    case .bottom:
        return view.bottomAnchor
    case .left:
        return view.leftAnchor
    case .right:
        return view.rightAnchor
    }
}

是否有一种优雅的方法可以使用通用方法或其他方法在一种方法中完成这些操作,而无需创建两个不同的函数?

0 个答案:

没有答案