如何在类函数中调用同一个类到swift中的实例函数

时间:2016-07-28 05:51:59

标签: ios swift

我有一个类有2个方法,首先是class方法,另一个是普通方法,我想从class方法调用第二个方法调用,我尝试了很多代码,但我仍然我没有得到解决方案,请指导我并提供帮助。

class ClassTest : NSObject
{
    class func SentByUserString() -> String
    {
        // i want call here to sample method
        return "hello"
    }

    func  sample() -> Void
    {
        print("Sample Method Called")
    }
}

2 个答案:

答案 0 :(得分:1)

您需要创建该类的静态实例,然后使用该静态实例从该类函数调用该方法。改变你的代码就像这样

class ClassTest : NSObject {

    struct Static {
        static var instance: ClassTest?
    }

    class func sharedManager() -> ClassTest {
        if (Static.instance == nil)
        {
            Static.instance = ClassTest()
        }
        return Static.instance!
    }

    class func SentByUserString() -> String {
        // now call here your sample method like this
        Static.instance?.sample()
        return "hello"
    }

    func  sample() -> Void {
        print("Sample Method Called")
    }
}

答案 1 :(得分:0)

这不是你应该做的事情,但是你可以在该方法中创建一个类的实例,并在该实例上调用sample方法。

class func SentByUserString() -> String {
        let temp = ClassTest()
        temp.sample()
        return "hello"
}