在XCODE/Swift中,如何创建可以从各种视图控制器调用的单个函数?

use*_*074 10 xcode global ios swift

我想实现一组函数,并在我的应用程序中由各种视图控制器调用它们.

这是最好的方法吗?

在整个应用程序中使用的函数的一个示例是将格式化的Float作为字符串返回:

func roundAndFormatFloat(floatToReturn : Float, numDecimalPlaces: Int) -> String{

    let formattedNumber = String(format: "%.\(numDecimalPlaces)f", floatToReturn)
    return formattedNumber

}
Run Code Online (Sandbox Code Playgroud)

DrO*_*ild 27

我建议创建一个名为Util.swift的新文件,并将该函数粘贴到该文件中.这就是Util.swift的样子:

import UIKit

func roundAndFormatFloat(floatToReturn : Float, numDecimalPlaces: Int) -> String{

    let formattedNumber = String(format: "%.\(numDecimalPlaces)f", floatToReturn)
    return formattedNumber

}
Run Code Online (Sandbox Code Playgroud)

您可以在Util.swift中放置所需的其他函数和常量.要在视图控制器中调用它,请执行以下操作:

var str = roundAndFormatFloat(float, numDecimalPlaces: decimalPlaces)
Run Code Online (Sandbox Code Playgroud)

这是另一种选择.创建另一个名为Util的类,并将此函数作为类函数放入其中:

import UIKit

class Util{
    class func roundAndFormatFloat(floatToReturn : Float, numDecimalPlaces: Int) -> String{

        let formattedNumber = String(format: "%.\(numDecimalPlaces)f", floatToReturn)
        return formattedNumber

    }
}
Run Code Online (Sandbox Code Playgroud)

调用它看起来像这样:

var str = Util.roundAndFormatFloat(float, numDecimalPlaces: decimalPlaces)
Run Code Online (Sandbox Code Playgroud)

您可以在此处添加需要全局使用的其他类方法.请注意,您无法创建全局可用的变量或常量,因为类变量和常量尚未在Swift中实现.