我如何从另一个类调用函数? Swift,Xcode

时间:2014-08-27 13:34:35

标签: ios xcode swift

我有一个ACCreateObject类。他们有一个功能circlePhysicsDefault。 我想通过按下Button来调用此函数的其他文件。 在GameViewController中我输入:

@IBAction func addOneCircle(sender: AnyObject) {
        ACCreateObject.circlePhysicsDefault(ACCreateObject)
}

但我有一个问题:'(ACCreateObject).Type'不能转换为'ACCreateObject'。我怎么称呼这个功能? 怎么了?

谢谢!

ACCreateObject.swift

class ACCreateObject: SKScene {
    func circlePhysicsDefault() {
        var Circle = SKShapeNode(circleOfRadius: 40)
        Circle.position = CGPointMake(500, 500)
        Circle.name = "defaultCircle"
        Circle.strokeColor = SKColor.blackColor()
        Circle.glowWidth = 10.0
        Circle.fillColor = SKColor.yellowColor()
        Circle.physicsBody = SKPhysicsBody(circleOfRadius: 40)
        Circle.physicsBody.dynamic = true
        self.addChild(Circle)
    }
}

2 个答案:

答案 0 :(得分:3)

您正在类对象上调用实例方法。你有两个解决方案:

创建一个新实例并调用它的方法

ACCreateObject().circlePhysicsDefault()

OR

使它成为一个类功能

// In your class file
class func circlePhysicsDefault() {
    ....
}

然后打电话     ACCreateObject.circlePhysicsDefault()

答案 1 :(得分:0)

不确定我是否理解你,但是你所说的你想要在类型上调用一个方法而不是一个对象

首先想到的是:

var x = ACCreateObject()
x.circlePhysicsDefault()

我认为这是你应该这样做的方式。我知道有一个类circlePhysicsDefault的选项