Swift

时间:2017-06-26 13:43:21

标签: swift xcode frameworks

我刚刚开始在xcode中使用框架来尝试创建自己的模块。制作iOS应用程序时,其入口点(AppDelegate)

相对简单

然而,我创建的框架没有像" main.swift"或类似的方法。

我是否必须自己创建/指定入口点? 感谢

编辑:我希望框架可以运行的原因是我可以实际打印一些输出,同时我会确保一切正常。

3 个答案:

答案 0 :(得分:1)

框架没有像这样的传统入口点 - 它不会自行运行,因此它不需要一个。

要使用您的框架,您将创建一个与您的框架链接的应用程序 - 然后应用程序的入口点将从您的框架内调用方法。

答案 1 :(得分:1)

(我的TL; DR在底部。)

如前所述,没有像你想的那样切入点。相反,你应该这样做:

在您的Framework目标中(我假设该框架名为 MyFramework ):

添加文件,类,属性,子类控件等,并将内容标记为publicprivateinternalfileprivate。 (请参阅Apple文档中的the access level section。)

例如:

public class MyClass1 {
    public var property1 = ""
    private var property2 = ""
    public func myFunc() -> String {
        print("Hello World!")
    }
}
private class MyClass2 {
    var property1 = ""
    var property2 = ""
    func myFunc() -> String {
        return "Hello World!"
    }
}

在您的应用目标中(再次假设您的框架名为 myFramework ):

include MyFramework

class ViewController: UIViewController {
    func tryThis() {
        let myClass1 = myClass1()
        print(myClass1.myFunc())  // prints "Hello World!"
        // the line below will generate a build error 
        // as myClass2 is marks private
        let myClass2 = myClass2()
    }
}

<强> TL; DR

了解您的访问级别,将代码添加到您的框架目标中,并将import框架添加到您的应用中。

答案 2 :(得分:1)

我从@deanWombourne得到的答案指出,如果有人只想使用框架项目进行开发并开发框架而不将其集成到应用程序中执行,他们可以只使用框架提供的测试一个切入点。

对于可能是新手的人,您只需要对项目进行单元测试,按下您通常按下的播放按钮进行运行,然后选择写入&#34; test&#34;在它旁边运行测试。