【问题标题】:How do I get the minimum value of two CGFloats in Swift? [duplicate]如何在 Swift 中获得两个 CGFloats 的最小值? [复制]
【发布时间】:2014-06-22 06:43:27
【问题描述】:

我有这段代码应该返回两个CGFloat 值的最小值:

    var boundsSize:CGSize = scrollView.bounds.size
    var imageSize:CGSize = imageView.bounds.size

    var xScale:CGFloat = boundsSize.width / imageSize.width
    var yScale:CGFloat = boundsSize.height / imageSize.height

    var minScale:CGFloat = MIN(xScale, yScale) // this does not work

但是MIN 在 swift 中似乎没有等价物。那我该怎么做呢?

【问题讨论】:

    标签: ios swift cgfloat


    【解决方案1】:

    试试这个:

    var minScale = min(xScale, yScale)
    

    min 已经在 swift 中了。希望这会有所帮助.. :)

    min 是可变参数函数。它的复位参数是一个可变参数。来自开发者网站:

    可变参数接受零个或多个指定类型的值。您使用可变参数来指定在调用函数时可以向参数传递不同数量的输入值。通过在参数类型名称后插入三个句点字符 (...) 来编写可变参数。

    了解更多信息。 See this.

    【讨论】:

    • 函数签名是func min<T : Comparable>(x: T, y: T, rest: T...) -> T - 其余参数是什么?
    • 这是一个可变参数函数,你不需要在那里传递任何东西。
    • @amitErandole >>查看我的编辑.. :)
    【解决方案2】:

    Swift中的函数是min,所以:

    var minScale = min(xScale, yScale)

    【讨论】:

      猜你喜欢
      • 2019-09-20
      • 2015-06-20
      • 1970-01-01
      • 2017-06-27
      • 1970-01-01
      • 2013-06-11
      • 2020-09-14
      • 2020-01-27
      • 1970-01-01
      相关资源
      最近更新 更多