在AppDelegate中访问另一个Swift文件中的方法

时间:2016-06-28 06:27:59

标签: ios swift

这是我的settings.swift文件:

import Foundation

class Settings {

    func setDefaultSettings()  {
    }
}

我想访问AppDelegate didFinishLaunchingWithOptions中的函数。我试过打电话

Settings.setDefaultSettings()但它不起作用。

3 个答案:

答案 0 :(得分:1)

方法可以用两种方式定义:实例方法和类方法 您已将该方法声明为Instance方法,该方法可通过类的实例访问。因此,要访问方法需要类的实例,可以创建为

let settingObj = Settings()
settingObj.setDefaultSettings()

-------------------------------------------------

//Combined statement
Settings().setDefaultSettings()

class method可以使用关键字staticclass撰写。它们可以通过类名本身访问。请参阅下面的示例

class Settings {

    class func setDefaultSettings()  
    {
        print("Default Settings")
    }
}

现在您可以通过类名

直接调用该方法
Settings.setDefaultSettings()

答案 1 :(得分:0)

您可以按照以下方式访问此方法

1)创建一个NSObject类,如下所示。(GLOBAL.swift)

class GLOBAL : NSObject {

    //sharedInstance
    static let sharedInstance = GLOBAL()
}

2)在这里定义你的方法。

class GLOBAL : NSObject {

    //sharedInstance
    static let sharedInstance = GLOBAL()

    func setDefaultSettings()  {

    }
}

3)使用以上方法如下。

GLOBAL.sharedInstance.setDefaultSettings()

您也可以在设置类以及任何其他类中使用此setDefaultSettings()

答案 2 :(得分:0)

您有两种方法可以完成这项工作:

1.设置类的初始化对象

Settings().setDefaultSettings()   

let settings = Settings()
settings.setDefaultSettings()

2.使函数静态

static func setDefaultSettings(){...}

在这种情况下,您可以按照自己的方式调用

Settings.setDefaultSettings()