NSLayoutAnchor 的类型

Posted

技术标签:

【中文标题】NSLayoutAnchor 的类型【英文标题】:Type of NSLayoutAnchor 【发布时间】:2018-09-05 06:31:33 【问题描述】:

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

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 的原因是因为该类是泛型类,而它的子类不是。

【讨论】:

是的,这无济于事,因为我仍然需要找出上面的类是什么 你是什么意思“类是什么”?你想返回什么?

以上是关于NSLayoutAnchor 的类型的主要内容,如果未能解决你的问题,请参考以下文章

“无法将 'NSLayoutDimension' 类型的值转换为预期的参数类型 NSLayoutAnchor<NSLayoutXAxisAnchor>

使用 NSLayoutAnchor 不好吗?

扩展 NSLayoutAnchor 中的编译错误

使用 NSLayoutAnchor 在两个标签之间创建约束?

使用 NSLayoutAnchor.constraintEqualToSystemSpacingAfter 时的控制台警告

使用 NSLayoutAnchor 时清除约束