如何包含我已写入其他iOS应用中的功能?

时间:2019-03-24 23:07:43

标签: xcode function frameworks

我一直在使用xCode编写iOS应用程序,但我意识到自己反复使用相同的数学运算。因此,我创建了一些函数,这些函数使我的代码大为清除。我现在想做的是能够在我编写的其他应用中使用这些功能,而无需一直复制和粘贴。这样,我的代码将更加干净。

我试图创建一个框架,然后将其包含到新项目中,但是即使导入该框架,我也永远无法使用这些功能。我创建的框架具有10-12个公共功能。我链接了二进制文件和框架,并且在导入时没有任何错误。它所具有的所有框架就是功能。我需要使用类而不是仅使用函数吗?所有功能都在框架内的.swift文件中。

*。swift文件在我的框架项目中...

********更新********

我创建了一个类,并能够将框架编译并添加到testapp中。我已经用现在的问题更新了代码片段。此修复程序是在添加类并将其添加到我的应用程序项目之前关闭框架项目。

我现在收到以下错误:“实例成员'courseLength'不能用于类型'DDMath';您是要使用此类型的值吗?”

********更新2 *********

因此,在我尝试使用和不使用该类时,该类不是必需的。当我将其添加到我的testapp中时,添加它的解决方法是关闭框架项目。但是,当我尝试利用框架中的功能时,它将识别框架“ DDMath”,甚至会自动完成功能。但是,当我输入函数名称时,它会显示如下函数:

'M(lastDepth:Float,p ... pth:Float)-> Float courselength(self:DDMath)'

当我选择它时,它看起来像这样:

DDMath.courseLength(DDMath)

并显示错误:“表达式解析为未使用的函数”

框架.swift文件:

import Foundation


public class DDMath {
// ***********DD Math functions***********

//courselength
public func courseLength (lastDepth: Float , previousDepth: Float) -> Float {
    return lastDepth - previousDepth
}

...

apps viewcontroller.swift文件:

import UIKit
import DDMath


class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.

        DDMath.courseLength(lastDepth: 3000, previousDepth: 2000)
    }




}

0 个答案:

没有答案